Conductor's Data Platform API (v1)
Getting Started
Overview
Conductor’s Data Platform API empowers organization's like yours to seamlessly integrate traditional and search insights directly into your existing data ecosystems. By automating data delivery, gain rapid, on-demand access to the metrics that matter most—powering custom dashboards, business intelligence tools, and cross-channel reporting without manual effort.
This API unlocks flexible, secure data sharing at scale, ensuring everyone in your organization is equipped with timely, actionable intelligence. Accelerate decision-making and drive measurable results by connecting Conductor’s data wherever their teams work best.
Note
Conductor provides APIs for several different uses across its Conductor Monitoring and Conductor Intelligence products. This article describes Conductor's Data Platform API, which updates—and will eventually fully replace—the legacy Conductor Reporting API. If you are looking for information about a different API offering, consider the following articles:
Base URL
The base URL for Conductor's Data Platform API is:
https://api.conductor.com
Authentication
Conductor uses a signed URL parameter to securely authenticate users. To create this signed parameter, you'll need the following building blocks:
- An API Key
- An API Secret
- The current time (expressed as seconds since the UNIX epoch:
unixEpochTimeSeconds
)
Additionally, during this alpha program, you'll need to add a header to your request that will allow access to this API.
We'll deal with the first two building blocks of the signed URL parameter before moving on to the third. Then we'll cover how to use all of them to build your full request, below. Finally, we'll cover the required request header.
1. Generate your Conductor API Key and Secret
If you want to build connections with Conductor's public API, you'll need to generate a Key and Secret to use to make calls to the API.
- Click here or follow the path Integrations > API in Conductor.
- Click Generate API Key.
- Click to copy your API Key and Secret to use in building your API calls.
Temporarily save these values so you can reference them below—but be sure to delete or erase your notes after. You can always retrieve these values from the platform again.
2. Generate Your Signed URL Parameter
A signature is a one-way MD5 hash of three values:
- A user's API key
- A user's Secret
- The current time expressed as seconds since the UNIX epoch (
unixEpochTimeSeconds
)
Your programming environment must provide the ability to do the following, which is part of the standard library for most programming languages:
- Get the current UNIX time in seconds.
- Compute MD5 hashes.
Note that, to allow for reasonable clock drift between your servers and Conductor's servers, the Conductor API considers a signature matching if it was signed within 5 minutes of the time on Conductor's servers.
Code Example
Review the Python sample below for computing the signature:
Python
import hashlib import time def compute_signature(api_key: str, secret: str) -> str: # Create the string to sign (api_key + secret + timestamp) timestamp = str(int(time.time())) # Unix timestamp in seconds string_to_sign = f"{api_key}{secret}{timestamp}" # Compute MD5 signature signature = hashlib.md5(string_to_sign.encode('utf-8')).hexdigest() return signature # Example usage: api_key = "your-api-key" secret = "your-secret" signature = compute_signature(api_key, secret) # Full URL example: url = f"https://api.conductor.com/data-api/v1/keyword_rankings?apiKey={api_key}&sig={signature}"
3. Build Your Request URL
You can build request URLs based on the building blocks you now have:
-
Base URL:
https://api.conductor.com
- Request Path: This is your desired endpoint. Each endpoint is documented below. Some endpoints require additional variables to be added to the request path.
-
Query Parameters:
-
apiKey
This is your API Key generated in the platform. -
sig
This is the signature you generated above.
-
https://api.conductor.com/{REQUEST PATH}?apiKey={YOUR API KEY}&sig={YOUR SIGNATURE}
4. Include the x-api-gateway-key
Request Header
Finally, you'll need to add the following header to your request: x-api-gateway-key
For its value, assign the API Key you generated above. Thus, for example:
'x-api-gateway-key': '{YOUR API KEY}'
Use this request URL and the request header to authenticate your calls to the Data Platform API.
Data Platform API and Platform Configuration
Get a list of available datasets
/data-api/v1/get-datasets
Returns a list of all available datasets that can be queried through the Data API. Each dataset represents a specific type of data or metric that can be queried.
Request Body
None
Responses
200 |
Successful query execution Schema: See below Example [ { "name": "visibility", "bi_visible": true }, { "name": "msv", "bi_visible": false }, { "name": "market_share", "bi_visible": true } ... ] |
401 | Unauthorized - API key missing or invalid |
429 | Too many requests |
500 | Internal server error |
Traditional Search
In the platform, this data appears in the Keywords report in Conductor Intelligence.
Get Foundational Keyword Data
/data-api/v1/keyword_rankings
This data shows you rank data for your keywords across any accounts your organization has in the Conductor platform. This data provides the foundation for all keyword-related charts and tables in the Keywords report.
Asynchronous Request Required
Note that this request requires an asynchronous workflow:
-
Initial Request: Submit your initial request to this endpoint and receive a 202 response with the
executionId
key-value pair. -
Polling. Add the
executionId
key and value to your request body to poll for results. While the asynchronous workflow is running, you will continue to receive 202 responses. When the query is complete, you'll receive a 200 response. -
Pagination. Use the
nextPageId
value from the completed 200 response to get additional pages. You can also specify the number of results per page using thepageSize
parameter.
Parameters
- For your initial request in the asynchronous query, include all the parameters listed in the Request Body section below.
- For polling requests, include
executionId
and, optionallypageSize
andnextPageId
for pagination.
Request Body
{ "start_date": "2025-01-01", "end_date": "2025-03-03", "collection_frequency": "WEEKLY", "min_rank": 1, "max_rank": 100, "result_types": [ "STANDARD_LINK" ], "includeMsv": true, "limit": 1000 }
start_date
Type: string | Example: 2025-07-01
Required. The first date, in YYYY-MM-DD format, from which you want to begin to pull data with this request.
end_date
Type: string | Example: 2025-07-08
Required. The final date, in YYYY-MM-DD format, through which you want to pull data with this request.
collection_frequency
Type: string | Example: WEEKLY
Required. The frequency, either WEEKLY
or DAILY
, to see reported rank data. Note that by default, Conductor collects keyword rank data is weekly, and only collects daily if specific keywords are configured to do so. Choosing to report on daily keywords here will include data only for those keywords that have been configured for daily tracking.
min_rank
Type: integer | Example: 1
Required. The highest rank for which you want to see keyword data. The highest possible min_rank
would be 1
, referring to the top position on a search engine results page.
max_rank
Type: integer | Example: 10
Optional. The lowest rank for which you want to see keyword data. The lowest possible max_rank
would be 100
referring to the lowest position Conductor gathers data for on search engine results pages.
By default, data for all positions up to a max_rank
of 100 are returned.
result_types
Type: string | Example: [IMAGE_RESULT]
Optional. The list of universal result types you want to see rank data returned for.
By default, data for all result types are returned. Enum values are as follows:
-
STANDARD_LINK
. These are Google's traditional "blue link" results. -
AIO_REFERENCE_RESULT
. Google's AI Overview results. -
GOOGLE_ANSWER_BOX
. Google's Answer Box results, which Google also calls Featured Snippets. -
APPS_RESULT
. Google's App results. -
CAROUSEL_RESULT
. Google's Carousel results. -
ENCYCLOPEDIA
. Baidu's Encyclopedia results. -
EVENT_PACK
andEVENT_RESULT
. Google's Event results. To query all Event results, you'll need both values. -
FORUM
. Baidu's Forum results. -
IMAGE_RESULT
. Google's Image results. -
JOB_RESULT
. Google's Jobs results. -
N_PACK
. Google's Local 3 Pack results. -
NEWS_RESULT
. Google's News results. -
NEWS_CAROUSEL
. Google's News Carousel results -
PAA_RESULT
. Google's People Also Ask results. -
PLACES_GROUP
andPLACES_SINGLE
. Google's Local Pack results. To query all Local Pack results, you'll need both values. -
PRODUCT_RESULT
. Google's Product results. -
REALTIME_PROFILE_TWEETS
. Google' Twitter results. -
RECIPE_CAROUSEL
. Google's Recipe results. -
VIDEO_CAROUSEL
. Google's Video Carousel results. -
VIDEO_NATURAL
andVIDEO_RESULT
. Google's Video results. To query all Video results, you'll need both values.
includeMsv
Type: boolean | Example: true
Optional. Determines whether to include monthly search volume data with the rank data returned by this request.
By default, this is false
.
limit
Type: integer | Example: 100
Optional. Determines the number of results to return for each request.
Responses
200 |
Successful query execution Schema: See below Example { "results": [ { "time_period_start": "2025-08-05", "time_period_end": "2025-08-05", "collection_date": "2025-08-05", "search_engine_name": "string", "search_engine": "string", "search_engine_country_code": "string", "search_engine_language_code": "string", "locode": "US", "device": "DESKTOP", "query": "string", "title": "string", "normalized_url": "string", "root_domain": "string", "subdomain": "string", "result_type": "STANDARD_LINK", "rank_standard": 0, "rank_true": 0, "rank_result_type": 0, "average_search_volume": 0, "cpc": 0, "competition": 0, "approximate_search_volume": 0 } ], "executionState": "COMPLETED", "executionId": "string", "requestId": "string", "nextPageId": "string" } |
202 |
Query accepted and is being processed asynchronously Example { "executionState": "IN_PROGRESS", "executionId": "string", "requestId": "string", "nextPageId": "string" } |
401 | Unauthorized - API key missing or invalid |
429 | Too many requests |
500 | Internal server error |
Get Your Visibility Over Time
/data-api/v1/composite_visibility
This data offers an at-a-glance view of your overall keyword performance, reflecting all your keyword ranks, grouped across visibility zones. In the Keywords report, this data appears in the Overview tab.
Data returned from this endpoint reflects weekly ranks for the past year.
Request Body
None
Responses
200 |
Successful query execution Schema: See below Example { "results": [ { "account_id": 123, "account_name": "Example Account", "web_property_id": 456, "web_property_name": "conductor.com", "organization_id": "DF3DAF2955754FDDB180CF505AE4761E", "organization_name": "Example Organization", "rank_source": "GOOGLE_US_EN", "device": "DESKTOP", "locode": "US", "time_period_start": "2025-08-06", "time_period_end": "2025-08-06", "time_period_type": "WEEK", "collection_date": "2025-08-06", "tracked_count": 1000, "tracked_ranked": 950, "top_3": 150, "top_4_10": 200, "top_11_20": 250, "top_21_40": 200, "top_41_100": 150 } ], "executionState": "string", "executionId": "string", "requestId": "string", "nextPageId": "string" } |
400 | Invalid request parameters |
401 | Unauthorized - API key missing or invalid |
429 | Too many requests |
500 | Internal server error |
Get Your Highest Ranking Page Data for Tracked Keywords
/data-api/v1/highest_ranking_url_per_keyword
This data shows data about your highest ranking page for each keyword you track to help you review your top-performing content. In the Keywords report, this data appears in the table on the Keywords tab.
This endpoint returns data for the most recent time period.
Request Body
None
Responses
200 |
Successful query execution Schema: See below Example { "results": [ { "account_id": 123, "account_name": "Example Account", "web_property_id": 456, "web_property_name": "conductor.com", "organization_id": "DF3DAF2955754FDDB180CF505AE4761E", "organization_name": "Example Organization", "query": "best smartphones 2024", "locode": "US", "device": "DESKTOP", "rank_source_engine": "google", "rank_source_country": "US", "rank_source_language": "en", "collection_frequency": "DAILY", "time_period": "2025-07-17", "rank_true": 1, "rank_standard": 1, "title": "Best Smartphones 2024 - Complete Guide", "normalized_url": "https://example.com/best-smartphones-2024", "root_domain": "example.com", "domain": "www.example.com", "result_type": "STANDARD_LINK", "monthly_search_volume": 12000, "msv_collection_month": 202506, "is_average_msv": 0, "cpc": 1.25, "competition": 0.75 } ], "executionState": "string", "executionId": "string", "requestId": "string", "nextPageId": "string" } |
400 | Invalid request parameters |
401 | Unauthorized - API key missing or invalid |
429 | Too many requests |
500 | Internal server error |
Get Your Year-Over-Year Seasonality for Monthly Search Volume
/data-api/v1/msv_seasonality
This data shows search demand—using monthly search volumes for the keywords you are reporting on—trended year-by-year to help you understand and respond to fluctuations in search behavior. In the Keywords report, this data appears in the Overview tab.
This endpoint returns monthly search volume data from the most recent two years.
Request Body
None
Responses
200 |
Successful query execution Schema: See below Example { "results": [ { "account_id": 123, "account_name": "Conductor Account", "web_property_id": 456, "web_property_name": "conductor.com", "organization_id": "DF3DAF2955754FDDB180CF505AE4761E", "organization_name": "Example Organization", "rank_source": "GOOGLE_US_EN", "device": "DESKTOP", "locode": "US", "collection_frequency": "DAILY", "collection_month": 202401, "search_volume": 15000, "is_average": false } ], "executionState": "string", "executionId": "string", "requestId": "string", "nextPageId": "string" } |
400 | Invalid request parameters |
401 | Unauthorized - API key missing or invalid |
429 | Too many requests |
500 | Internal server error |
AI Search
AI search data includes the brand mentions and website citations that appear in AI search engine responses for the topics you track with Conductor. In the platform, this data appears in the Overview tab of AI Search Performance in Conductor Intelligence.
Get AI Search Performance Data
/data-api/v1/ai_search_performance
This data shows you performance across brand mentions and website citations for the brands and websites that appear in AI search responses for the topics you track. This data provides the foundation for all topic-related charts and tables in the AI Search Performance report.
Optional Asynchronous Request
Note that this request may also be made with an asynchronous workflow:
-
Initial Request: Submit your initial request to
/data-api/v1/async/ai_search_performance
and receive a 202 response with theexecutionId
key-value pair. -
Polling. Add the
executionId
key and value to your request body to poll for results. While the asynchronous workflow is running, you will continue to receive 202 responses. When the query is complete, you'll receive a 200 response. -
Pagination. Use the
nextPageId
value from the completed 200 response to get additional pages. You can also specify the number of results per page using thepageSize
parameter.
Parameters
- For your initial request in the asynchronous query, include all the parameters listed in the Request Body section below.
- For polling requests, include
executionId
and, optionallypageSize
andnextPageId
for pagination.
Request Body
{ "start_date": "2024-03-01", "end_date": "2024-03-31", "collection_frequency": "DAILY", "limit": 10000 }
start_date
Type: string | Example: 2025-07-01
Required. The first date, in YYYY-MM-DD format, from which you want to begin to pull data with this request.
end_date
Type: string | Example: 2025-07-08
Required. The final date, in YYYY-MM-DD format, through which you want to pull data with this request.
collection_frequency
Type: string | Example: WEEKLY
Required. The frequency, either WEEKLY
or DAILY
, to see reported AI search data. Note that by default, Conductor collects search data is weekly, and only collects daily if specific topics are configured to do so. Choosing to report on daily topics here will include data only for those topics that have been configured for daily tracking.
Enum values:
DAILY
WEEKLY
limit
Type: integer | Example: 10000
Optional. The maximum number of results returned through this endpoint.
By default, this endpoint returns up to 1,000,000 results, which is also the maximum number or results that can be returned.
Responses
200 |
Successful query execution Schema: See below Example { "results": [ { "organization_name": "Example Organization", "organization_id": "DF3DAF2955754FDDB180CF505AE4761E", "account_name": "Example Account", "account_id": 123, "web_property_name": "conductor.com", "web_property_id": 456, "time_period_start": "2024-03-01", "time_period_end": "2024-03-31", "locode": "US", "ai_search_engine_name": "ChatGPT Search 4o", "topic": "marketing automation", "prompt": "best marketing automation tools", "intent": "commercial", "persona_name": "Marketing Manager", "brands": [ "Conductor", "HubSpot", "Marketo" ], "citations_urls": [ "https://conductor.com/guide", "https://hubspot.com/blog" ], "citations_root_domains": [ "conductor.com", "hubspot.com" ], "collection_date": "2024-03-15" } ], "executionState": "string", "executionId": "string", "requestId": "string", "nextPageId": "string" } |
400 | Invalid request parameters |
401 | Unauthorized - API key missing or invalid |
429 | Too many requests |
500 | Internal server error |
Get Market Share by Brand Mentions
/data-api/v1/ai_marketshare_brand_overview
This data identifies the brands that appear for each of your topics. If you track multiple brands across the website you report on, you'll see those brands mentions aggregated for your website.
Optional Asynchronous Request
Note that this request may also be made with an asynchronous workflow:
-
Initial Request: Submit your initial request to
/data-api/v1/async/ai_marketshare_brand_overview
and receive a 202 response with theexecutionId
key-value pair. -
Polling. Add the
executionId
key and value to your request body to poll for results. While the asynchronous workflow is running, you will continue to receive 202 responses. When the query is complete, you'll receive a 200 response. -
Pagination. Use the
nextPageId
value from the completed 200 response to get additional pages. You can also specify the number of results per page using thepageSize
parameter.
Parameters
- For your initial request in the asynchronous query, include all the parameters listed in the Request Body section below.
- For polling requests, include
executionId
and, optionallypageSize
andnextPageId
for pagination.
Request Body
{ "start_date": "2024-03-01", "end_date": "2024-03-15", "collection_frequency": "DAILY", "limit": 10000 }
start_date
Type: string | Example: 2025-07-01
Required. The first date, in YYYY-MM-DD format, from which you want to begin to pull data with this request.
end_date
Type: string | Example: 2025-07-08
Required. The final date, in YYYY-MM-DD format, through which you want to pull data with this request.
collection_frequency
Type: string | Example: WEEKLY
Required. The frequency, either WEEKLY
or DAILY
, to see reported AI search data. Note that by default, Conductor collects search data is weekly, and only collects daily if specific topics are configured to do so. Choosing to report on daily topics here will include data only for those topics that have been configured for daily tracking.
Enum values:
DAILY
WEEKLY
limit
Type: integer | Example: 10000
Optional. The maximum number of results returned through this endpoint.
By default, this endpoint returns up to 100,000 results, which is also the maximum number or results that can be returned.
Responses
200 |
Successful query execution Schema: See below Example { "results": [ { "organization_name": "Example Organization", "organization_id": "DF3DAF2955754FDDB180CF505AE4761E", "account_name": "Example Account", "account_id": 123, "web_property_name": "conductor.com", "web_property_id": 456, "time_period_start": "2024-03-30", "time_period_end": "2024-04-12", "collection_frequency": "DAILY", "locode": "US", "ai_search_engine_name": "ChatGPT Search 4o", "brand_name": "Conductor", "brand_attribution": "YOU", "topic_total": 100, "topic_brand_count": 25, "topic_brand_market_share_percent": 25, "prompt_total": 500, "prompt_response_brand_count": 75, "prompt_response_brand_market_share_percent": 15 } ], "executionState": "string", "executionId": "string", "requestId": "string", "nextPageId": "string" } |
400 | Invalid request parameters |
401 | Unauthorized - API key missing or invalid |
429 | Too many requests |
500 | Internal server error |
Get Market Share Trends Over Time by Brand Mentions
/data-api/v1/ai_marketshare_brand_trends
This data identifies the brands that appear for each of your topics, trended over time. If you track multiple brands across the website you report on, you'll see those brands mentions aggregated for your website.
Optional Asynchronous Request
Note that this request may also be made with an asynchronous workflow:
-
Initial Request: Submit your initial request to
/data-api/v1/async/ai_marketshare_brand_trends
and receive a 202 response with theexecutionId
key-value pair. -
Polling. Add the
executionId
key and value to your request body to poll for results. While the asynchronous workflow is running, you will continue to receive 202 responses. When the query is complete, you'll receive a 200 response. -
Pagination. Use the
nextPageId
value from the completed 200 response to get additional pages. You can also specify the number of results per page using thepageSize
parameter.
Parameters
- For your initial request in the asynchronous query, include all the parameters listed in the Request Body section below.
- For polling requests, include
executionId
and, optionallypageSize
andnextPageId
for pagination.
Request Body
{ "start_date": "2024-03-01", "end_date": "2024-03-15", "collection_frequency": "DAILY", "limit": 10000 }
start_date
Type: string | Example: 2025-07-01
Required. The first date, in YYYY-MM-DD format, from which you want to begin to pull data with this request.
end_date
Type: string | Example: 2025-07-08
Required. The final date, in YYYY-MM-DD format, through which you want to pull data with this request.
collection_frequency
Type: string | Example: WEEKLY
Required. The frequency, either WEEKLY
or DAILY
, to see reported AI search data. Note that by default, Conductor collects search data is weekly, and only collects daily if specific topics are configured to do so. Choosing to report on daily topics here will include data only for those topics that have been configured for daily tracking.
Enum values:
DAILY
WEEKLY
limit
Type: integer | Example: 10000
Optional. The maximum number of results returned through this endpoint.
By default, this endpoint returns up to 100,000 results, which is also the maximum number or results that can be returned.
Responses
200 |
Successful query execution Schema: See below Example { "results": [ { "organization_name": "Example Organization", "organization_id": "DF3DAF2955754FDDB180CF505AE4761E", "account_name": "Example Account", "account_id": 123, "web_property_name": "conductor.com", "web_property_id": 456, "time_period_start": "2024-03-30", "time_period_end": "2024-04-12", "collection_frequency": "DAILY", "locode": "US", "ai_search_engine_name": "ChatGPT Search 4o", "brand_name": "Conductor", "brand_attribution": "YOU", "topic_total": 100, "topic_brand_count": 25, "topic_brand_market_share_percent": 25, "prompt_total": 500, "prompt_response_brand_count": 75, "prompt_response_brand_market_share_percent": 15 } ], "executionState": "string", "executionId": "string", "requestId": "string", "nextPageId": "string" } |
400 | Invalid request parameters |
401 | Unauthorized - API key missing or invalid |
429 | Too many requests |
500 | Internal server error |
Get Market Share by Website Citations
/data-api/v1/ai_marketshare_citations_overview
This data identifies the citations that appear for each of your topics.
Optional Asynchronous Request
Note that this request may also be made with an asynchronous workflow:
-
Initial Request: Submit your initial request to
/data-api/v1/async/ai_marketshare_citations_overview
and receive a 202 response with theexecutionId
key-value pair. -
Polling. Add the
executionId
key and value to your request body to poll for results. While the asynchronous workflow is running, you will continue to receive 202 responses. When the query is complete, you'll receive a 200 response. -
Pagination. Use the
nextPageId
value from the completed 200 response to get additional pages. You can also specify the number of results per page using thepageSize
parameter.
Parameters
- For your initial request in the asynchronous query, include all the parameters listed in the Request Body section below.
- For polling requests, include
executionId
and, optionallypageSize
andnextPageId
for pagination.
Request Body
{ "start_date": "2024-03-01", "end_date": "2024-03-15", "collection_frequency": "DAILY", "limit": 10000 }
start_date
Type: string | Example: 2025-07-01
Required. The first date, in YYYY-MM-DD format, from which you want to begin to pull data with this request.
end_date
Type: string | Example: 2025-07-08
Required. The final date, in YYYY-MM-DD format, through which you want to pull data with this request.
collection_frequency
Type: string | Example: WEEKLY
Required. The frequency, either WEEKLY
or DAILY
, to see reported AI search data. Note that by default, Conductor collects search data is weekly, and only collects daily if specific topics are configured to do so. Choosing to report on daily topics here will include data only for those topics that have been configured for daily tracking.
Enum values:
DAILY
WEEKLY
limit
Type: integer | Example: 10000
Optional. The maximum number of results returned through this endpoint.
By default, this endpoint returns up to 100,000 results, which is also the maximum number or results that can be returned.
Responses
200 |
Successful query execution Schema: See below Example { "results": [ { "organization_name": "Example Organization", "organization_id": "DF3DAF2955754FDDB180CF505AE4761E", "account_name": "Example Account", "account_id": 123, "web_property_name": "conductor.com", "web_property_id": 456, "time_period_start": "2024-03-30", "time_period_end": "2024-04-12", "collection_frequency": "DAILY", "locode": "US", "ai_search_engine_name": "ChatGPT Search 4o", "domain_or_web_property_segment": "conductor.com", "citation_ownership": "YOU", "topic_total": 100, "topic_citation_count": 25, "topic_citation_market_share_percent": 25, "prompt_total": 500, "prompt_response_citation_count": 75, "prompt_response_citation_market_share_percent": 15 } ], "executionState": "string", "executionId": "string", "requestId": "string", "nextPageId": "string" } |
400 | Invalid request parameters |
401 | Unauthorized - API key missing or invalid |
429 | Too many requests |
500 | Internal server error |
Get Market Share Trends Over Time by Website Citation
/data-api/v1/ai_marketshare_citations_trends
This data identifies the citations that appear for each of your topics, trended over time.
Optional Asynchronous Request
Note that this request may also be made with an asynchronous workflow:
-
Initial Request: Submit your initial request to
/data-api/v1/async/ai_marketshare_citations_trands
and receive a 202 response with theexecutionId
key-value pair. -
Polling. Add the
executionId
key and value to your request body to poll for results. While the asynchronous workflow is running, you will continue to receive 202 responses. When the query is complete, you'll receive a 200 response. -
Pagination. Use the
nextPageId
value from the completed 200 response to get additional pages. You can also specify the number of results per page using thepageSize
parameter.
Parameters
- For your initial request in the asynchronous query, include all the parameters listed in the Request Body section below.
- For polling requests, include
executionId
and, optionallypageSize
andnextPageId
for pagination.
Request Body
{ "start_date": "2024-03-01", "end_date": "2024-03-15", "collection_frequency": "DAILY", "limit": 10000 }
start_date
Type: string | Example: 2025-07-01
Required. The first date, in YYYY-MM-DD format, from which you want to begin to pull data with this request.
end_date
Type: string | Example: 2025-07-08
Required. The final date, in YYYY-MM-DD format, through which you want to pull data with this request.
collection_frequency
Type: string | Example: WEEKLY
Required. The frequency, either WEEKLY
or DAILY
, to see reported AI search data. Note that by default, Conductor collects search data is weekly, and only collects daily if specific topics are configured to do so. Choosing to report on daily topics here will include data only for those topics that have been configured for daily tracking.
Enum values:
DAILY
WEEKLY
limit
Type: integer | Example: 10000
Optional. The maximum number of results returned through this endpoint.
By default, this endpoint returns up to 100,000 results, which is also the maximum number or results that can be returned.
Responses
200 |
Successful query execution Schema: See below Example { "results": [ { "organization_name": "Example Organization", "organization_id": "DF3DAF2955754FDDB180CF505AE4761E", "account_name": "Example Account", "account_id": 123, "web_property_name": "conductor.com", "web_property_id": 456, "time_period_start": "2024-03-30", "time_period_end": "2024-04-12", "collection_frequency": "DAILY", "locode": "US", "ai_search_engine_name": "ChatGPT Search 4o", "domain_or_web_property_segment": "conductor.com", "citation_ownership": "YOU", "topic_total": 100, "topic_citation_count": 25, "topic_citation_market_share_percent": 25, "prompt_total": 500, "prompt_response_citation_count": 75, "prompt_response_citation_market_share_percent": 15 } ], "executionState": "string", "executionId": "string", "requestId": "string", "nextPageId": "string" } |
400 | Invalid request parameters |
401 | Unauthorized - API key missing or invalid |
429 | Too many requests |
500 | Internal server error |
Get Brand Mentions Over Time
/data-api/v1/ai_visibility_brand_attribution
This data indicates the number of topics for which your brand was mentioned and the number of topics for which your brand was not mentioned, across the reporting time period.
Optional Asynchronous Request
Note that this request may also be made with an asynchronous workflow:
-
Initial Request: Submit your initial request to
/data-api/v1/async/ai_visibility_brand_attribution
and receive a 202 response with theexecutionId
key-value pair. -
Polling. Add the
executionId
key and value to your request body to poll for results. While the asynchronous workflow is running, you will continue to receive 202 responses. When the query is complete, you'll receive a 200 response. -
Pagination. Use the
nextPageId
value from the completed 200 response to get additional pages. You can also specify the number of results per page using thepageSize
parameter.
Parameters
- For your initial request in the asynchronous query, include all the parameters listed in the Request Body section below.
- For polling requests, include
executionId
and, optionallypageSize
andnextPageId
for pagination.
Request Body
{ "start_date": "2024-03-01", "end_date": "2024-03-15", "collection_frequency": "DAILY", "limit": 10000 }
start_date
Type: string | Example: 2025-07-01
Required. The first date, in YYYY-MM-DD format, from which you want to begin to pull data with this request.
end_date
Type: string | Example: 2025-07-08
Required. The final date, in YYYY-MM-DD format, through which you want to pull data with this request.
collection_frequency
Type: string | Example: WEEKLY
Required. The frequency, either WEEKLY
or DAILY
, to see reported AI search data. Note that by default, Conductor collects search data is weekly, and only collects daily if specific topics are configured to do so. Choosing to report on daily topics here will include data only for those topics that have been configured for daily tracking.
Enum values:
DAILY
WEEKLY
limit
Type: integer | Example: 10000
Optional. The maximum number of results returned through this endpoint.
By default, this endpoint returns up to 100,000 results, which is also the maximum number or results that can be returned.
Responses
200 |
Successful query execution Schema: See below Example { "results": [ { "organization_name": "Example Organization", "organization_id": "DF3DAF2955754FDDB180CF505AE4761E", "account_name": "Example Account", "account_id": 123, "web_property_name": "conductor.com", "web_property_id": 456, "time_period_start": "2024-03-30", "time_period_end": "2024-04-12", "collection_frequency": "DAILY", "locode": "US", "ai_search_engine_name": "ChatGPT Search 4o", "topic_total": 100, "topic_brand_count": 25, "topic_without_brand_count": 75, "prompt_total": 500, "prompt_response_brand_count": 75, "prompt_response_without_brand_count": 425 } ], "executionState": "string", "executionId": "string", "requestId": "string", "nextPageId": "string" } |
400 | Invalid request parameters |
401 | Unauthorized - API key missing or invalid |
429 | Too many requests |
500 | Internal server error |
Get Website Citations Over Time
/data-api/v1/ai_visibility_citations_attribution
This data indicates the number of topics for which your website was cited in AI search results, across the reporting time period.
Optional Asynchronous Request
Note that this request may also be made with an asynchronous workflow:
-
Initial Request: Submit your initial request to
/data-api/v1/async/ai_marketshare_citations_attribution
and receive a 202 response with theexecutionId
key-value pair. -
Polling. Add the
executionId
key and value to your request body to poll for results. While the asynchronous workflow is running, you will continue to receive 202 responses. When the query is complete, you'll receive a 200 response. -
Pagination. Use the
nextPageId
value from the completed 200 response to get additional pages. You can also specify the number of results per page using thepageSize
parameter.
Parameters
- For your initial request in the asynchronous query, include all the parameters listed in the Request Body section below.
- For polling requests, include
executionId
and, optionallypageSize
andnextPageId
for pagination.
Request Body
{ "start_date": "2024-03-01", "end_date": "2024-03-15", "collection_frequency": "DAILY", "limit": 10000 }
start_date
Type: string | Example: 2025-07-01
Required. The first date, in YYYY-MM-DD format, from which you want to begin to pull data with this request.
end_date
Type: string | Example: 2025-07-08
Required. The final date, in YYYY-MM-DD format, through which you want to pull data with this request.
collection_frequency
Type: string | Example: WEEKLY
Required. The frequency, either WEEKLY
or DAILY
, to see reported AI search data. Note that by default, Conductor collects search data is weekly, and only collects daily if specific topics are configured to do so. Choosing to report on daily topics here will include data only for those topics that have been configured for daily tracking.
Enum values:
DAILY
WEEKLY
limit
Type: integer | Example: 10000
Optional. The maximum number of results returned through this endpoint.
By default, this endpoint returns up to 100,000 results, which is also the maximum number or results that can be returned.
Responses
200 |
Successful query execution Schema: See below Example { "results": [ { "organization_name": "Example Organization", "organization_id": "DF3DAF2955754FDDB180CF505AE4761E", "account_name": "Example Account", "account_id": 123, "web_property_name": "conductor.com", "web_property_id": 456, "time_period_start": "2024-03-30", "time_period_end": "2024-04-12", "collection_frequency": "DAILY", "locode": "US", "ai_search_engine_name": "ChatGPT Search 4o", "topic_total": 100, "topic_citation_count": 25, "topic_without_citation_count": 75, "prompt_total": 500, "prompt_response_citation_count": 75, "prompt_response_without_citation_count": 425 } ], "executionState": "string", "executionId": "string", "requestId": "string", "nextPageId": "string" } |
400 | Invalid request parameters |
401 | Unauthorized - API key missing or invalid |
429 | Too many requests |
500 | Internal server error |
Get Brand Mentions for All Your Tracked Prompts
/data-api/v1/ai_search_performance_brand
This endpoint returns brand mentions from AI search performance data for all your tracked prompts, including specific data about each brand.
Optional Asynchronous Request
Note that this request may also be made with an asynchronous workflow:
-
Initial Request: Submit your initial request to
/data-api/v1/async/ai_search_performance_brand
and receive a 202 response with theexecutionId
key-value pair. -
Polling. Add the
executionId
key and value to your request body to poll for results. While the asynchronous workflow is running, you will continue to receive 202 responses. When the query is complete, you'll receive a 200 response. -
Pagination. Use the
nextPageId
value from the completed 200 response to get additional pages. You can also specify the number of results per page using thepageSize
parameter.
Parameters
- For your initial request in the asynchronous query, include all the parameters listed in the Request Body section below.
- For polling requests, include
executionId
and, optionallypageSize
andnextPageId
for pagination.
Request Body
{ "start_date": "2024-03-01", "end_date": "2024-03-15", "collection_frequency": "DAILY", "limit": 10000 }
start_date
Type: string | Example: 2025-07-01
Required. The first date, in YYYY-MM-DD format, from which you want to begin to pull data with this request.
end_date
Type: string | Example: 2025-07-08
Required. The final date, in YYYY-MM-DD format, through which you want to pull data with this request.
collection_frequency
Type: string | Example: WEEKLY
Required. The frequency, either WEEKLY
or DAILY
, to see reported AI search data. Note that by default, Conductor collects search data is weekly, and only collects daily if specific topics are configured to do so. Choosing to report on daily topics here will include data only for those topics that have been configured for daily tracking.
Enum values:
DAILY
WEEKLY
limit
Type: integer | Example: 10000
Optional. The maximum number of results returned through this endpoint.
By default, this endpoint returns up to 1,000,000 results, which is also the maximum number or results that can be returned.
Responses
200 |
Successful query execution Schema: See below Example { "results": [ { "organization_name": "Example Organization", "organization_id": "DF3DAF2955754FDDB180CF505AE4761E", "account_name": "Example Account", "account_id": 123, "web_property_name": "conductor.com", "web_property_id": 456, "time_period_start": "2024-03-01", "time_period_end": "2024-03-15", "collection_frequency": "DAILY", "locode": "US", "ai_search_engine_name": "ChatGPT Search 4o", "topic": "marketing automation", "prompt": "best marketing automation tools", "intent": "commercial", "persona_name": "Marketing Manager", "brand_name": "Conductor", "brand_type": "YOU", "collection_date": "2024-03-15" } ], "executionState": "string", "executionId": "string", "requestId": "string", "nextPageId": "string" } |
400 | Invalid request parameters |
401 | Unauthorized - API key missing or invalid |
429 | Too many requests |
500 | Internal server error |
Get Website Citations for All Your Tracked Prompts
/data-api/v1/ai_search_performance_citation
This endpoint returns website citations from AI search performance data for all your tracked prompts, including specific data about each website.
Optional Asynchronous Request
Note that this request may also be made with an asynchronous workflow:
-
Initial Request: Submit your initial request to
/data-api/v1/async/ai_search_performance_citation
and receive a 202 response with theexecutionId
key-value pair. -
Polling. Add the
executionId
key and value to your request body to poll for results. While the asynchronous workflow is running, you will continue to receive 202 responses. When the query is complete, you'll receive a 200 response. -
Pagination. Use the
nextPageId
value from the completed 200 response to get additional pages. You can also specify the number of results per page using thepageSize
parameter.
Parameters
- For your initial request in the asynchronous query, include all the parameters listed in the Request Body section below.
- For polling requests, include
executionId
and, optionallypageSize
andnextPageId
for pagination.
Request Body
{ "start_date": "2024-03-01", "end_date": "2024-03-15", "collection_frequency": "DAILY", "limit": 10000 }
start_date
Type: string | Example: 2025-07-01
Required. The first date, in YYYY-MM-DD format, from which you want to begin to pull data with this request.
end_date
Type: string | Example: 2025-07-08
Required. The final date, in YYYY-MM-DD format, through which you want to pull data with this request.
collection_frequency
Type: string | Example: WEEKLY
Required. The frequency, either WEEKLY
or DAILY
, to see reported AI search data. Note that by default, Conductor collects search data is weekly, and only collects daily if specific topics are configured to do so. Choosing to report on daily topics here will include data only for those topics that have been configured for daily tracking.
Enum values:
DAILY
WEEKLY
limit
Type: integer | Example: 10000
Optional. The maximum number of results returned through this endpoint.
By default, this endpoint returns up to 1,000,000 results, which is also the maximum number or results that can be returned.
Responses
200 |
Successful query execution Schema: See below Example { "results": [ { "organization_name": "Example Organization", "organization_id": "DF3DAF2955754FDDB180CF505AE4761E", "account_name": "Example Account", "account_id": 123, "web_property_name": "conductor.com", "web_property_id": 456, "time_period_start": "2024-03-01", "time_period_end": "2024-03-15", "collection_frequency": "DAILY", "locode": "US", "ai_search_engine_name": "ChatGPT Search 4o", "topic": "marketing automation", "prompt": "best marketing automation tools", "intent": "commercial", "persona_name": "Marketing Manager", "citation_url": "https://conductor.com/marketing-automation-guide", "citation_root_domain": "conductor.com", "citation_web_property_segment": "conductor.com", "citation_ownership": "YOU", "collection_date": "2024-03-15" } ], "executionState": "string", "executionId": "string", "requestId": "string", "nextPageId": "string" } |
400 | Invalid request parameters |
401 | Unauthorized - API key missing or invalid |
429 | Too many requests |
500 | Internal server error |
Get Detailed Data about Your Tracked Topics
/data-api/v1/ai_topic_details
This endpoint returns topic-level data with brand mention and website citation data, and can include comparison data across time periods.
Optional Asynchronous Request
Note that this request may also be made with an asynchronous workflow:
-
Initial Request: Submit your initial request to
/data-api/v1/async/ai_topic_details
and receive a 202 response with theexecutionId
key-value pair. -
Polling. Add the
executionId
key and value to your request body to poll for results. While the asynchronous workflow is running, you will continue to receive 202 responses. When the query is complete, you'll receive a 200 response. -
Pagination. Use the
nextPageId
value from the completed 200 response to get additional pages. You can also specify the number of results per page using thepageSize
parameter.
Parameters
- For your initial request in the asynchronous query, include all the parameters listed in the Request Body section below.
- For polling requests, include
executionId
and, optionallypageSize
andnextPageId
for pagination.
Request Body
{ "reference_time_period_start": "2024-03-01", "reference_time_period_end": "2024-03-31", "comparison_time_period_start": "2024-04-01", "comparison_time_period_end": "2024-04-30", "locode": "US", "ai_search_engine_name": "ChatGPT Search 4o", "topic": "blood testing labs", "prompt": "allergy blood testing", "limit": 10000 }
reference_time_period_start
Type: string | Example: 2024-03-01
Required. This determines the first date, in YYYY-MM-DD format, from which you want to begin to pull data.
reference_time_period_end
Type: string | Example: 2024-03-31
Required. The final date, in YYYY-MM-DD format, through which you want to pull data with this request.
comparison_time_period_start
Type: string | Example: 2024-04-01
Optional. If you want to compare data between the reference data and a comparison data, this is the first date, in YYYY-MM-DD format, from which you want to begin to pull data for the comparison.
By default, no comparison data is provided.
comparison_time_period_end
Type: string | Example: 2024-04-30
Optional. If you want to compare data between the reference data and a comparison data, this is the final date, in YYYY-MM-DD format, through which you want to pull data for the comparison.
By default, no comparison data is provided.
locode
Type: string | Example: US
Optional. The location for which data should be returned.
By default, data for all locations is returned.
Example enum values:
Coming soon
ai_search_engine_name
Type: string | Example: ChatGPT Search 4o
Optional. The specific AI search engine for which you want to return data.
By default, data for all engines is returned.
Enum values:
ChatGPT Search 3.5
ChatGPT Search 4o
ChatGPT Search 4.5
Perplexity AI GPT-4
Google Gemini
Google AIO
Google AI Mode
topic
Type: string | Example: blood testing labs
Optional. The specific tracked topic for which you want to return data.
By default, data for all topics is returned.
prompt
Type: string | Example: allergy blood testing
Optional. The specific tracked prompt for which you want to return data.
By default, data for all prompts is returned.
limit
Type: integer | Example: 10000
Optional. The maximum number of results returned through this endpoint.
By default, this endpoint returns up to 100,000 results, which is also the maximum number or results that can be returned.
Responses
200 |
Successful query execution Schema: See below Example { "results": [ { "organization_name": "Conductor", "account_name": "Marketing Account", "web_property_name": "conductor.com", "reference_time_period_start": "2024-03-01", "reference_time_period_end": "2024-03-31", "comparison_time_period_start": "2024-04-01", "comparison_time_period_end": "2024-04-30", "collection_frequency": "DAILY", "locode": "US", "ai_search_engine_name": "ChatGPT Search 4o", "topic": "blood testing labs", "prompt_total": 50, "prompt_brand_count": 15, "prompt_brand_count_change": 3, "prompt_brand_count_percentage": 30, "prompt_brand_count_percentage_change": 5.5, "prompt_citation_count": 25, "prompt_citation_count_change": 5, "prompt_citation_count_percentage": 50, "prompt_citation_count_percentage_change": 8, "top_cited_url": "https://example.com/blood-testing-guide" } ], "executionState": "string", "executionId": "string", "requestId": "string", "nextPageId": "string" } |
400 | Invalid request parameters |
401 | Unauthorized - API key missing or invalid |
429 | Too many requests |
500 | Internal server error |
Get Detailed Data about Your Tracked Prompts
/data-api/v1/ai_prompt_details
This endpoint returns prompt-level data with brand mention and website citation data, and can include comparison data across time periods.
Optional Asynchronous Request
Note that this request may also be made with an asynchronous workflow:
-
Initial Request: Submit your initial request to
/data-api/v1/async/ai_prompt_details
and receive a 202 response with theexecutionId
key-value pair. -
Polling. Add the
executionId
key and value to your request body to poll for results. While the asynchronous workflow is running, you will continue to receive 202 responses. When the query is complete, you'll receive a 200 response. -
Pagination. Use the
nextPageId
value from the completed 200 response to get additional pages. You can also specify the number of results per page using thepageSize
parameter.
Parameters
- For your initial request in the asynchronous query, include all the parameters listed in the Request Body section below.
- For polling requests, include
executionId
and, optionallypageSize
andnextPageId
for pagination.
Request Body
{ "reference_time_period_start": "2024-03-01", "reference_time_period_end": "2024-03-31", "comparison_time_period_start": "2024-04-01", "comparison_time_period_end": "2024-04-30", "locode": "US", "ai_search_engine_name": "ChatGPT Search 4o", "topic": "blood testing labs", "prompt": "allergy blood testing", "limit": 10000 }
reference_time_period_start
Type: string | Example: 2024-03-01
Required. This determines the first date, in YYYY-MM-DD format, from which you want to begin to pull data.
reference_time_period_end
Type: string | Example: 2024-03-31
Required. The final date, in YYYY-MM-DD format, through which you want to pull data with this request.
comparison_time_period_start
Type: string | Example: 2024-04-01
Optional. If you want to compare data between the reference data and a comparison data, this is the first date, in YYYY-MM-DD format, from which you want to begin to pull data for the comparison.
By default, no comparison data is provided.
comparison_time_period_end
Type: string | Example: 2024-04-30
Optional. If you want to compare data between the reference data and a comparison data, this is the final date, in YYYY-MM-DD format, through which you want to pull data for the comparison.
By default, no comparison data is provided.
locode
Type: string | Example: US
Optional. The location for which data should be returned.
By default, data for all locations is returned.
Enum values:
Coming soon
ai_search_engine_name
Type: string | Example: ChatGPT Search 4o
Optional. The specific AI search engine for which you want to return data.
By default, data for all engines is returned.
Enum values:
ChatGPT Search 3.5
ChatGPT Search 4o
ChatGPT Search 4.5
Perplexity AI GPT-4
Google Gemini
Google AIO
Google AI Mode
topic
Type: string | Example: blood testing labs
Optional. The specific tracked topic for which you want to return data.
By default, data for all topics is returned.
prompt
Type: string | Example: allergy blood testing
Optional. The specific tracked prompt for which you want to return data.
By default, data for all prompts is returned.
limit
Type: integer | Example: 1000
Optional. The maximum number of results returned through this endpoint.
By default, this endpoint returns up to 10,000 results, which is also the maximum number or results that can be returned.
Responses
200 |
Successful query execution Schema: See below Example { "results": [ { "organization_name": "Conductor", "account_name": "Marketing Account", "web_property_name": "conductor.com", "reference_time_period_start": "2024-03-01", "reference_time_period_end": "2024-03-31", "comparison_time_period_start": "2024-04-01", "comparison_time_period_end": "2024-04-30", "collection_frequency": "DAILY", "locode": "US-NY", "ai_search_engine_name": "ChatGPT Search 4o", "topic": "marketing automation", "prompt": "best marketing automation tools", "intent": "commercial", "persona_name": "Marketing Manager", "brand_count": 3, "brand_count_difference": 1, "brand_count_change_percent": 33.33, "citation_count": 5, "citation_count_difference": 2, "citation_count_change_percent": 40 } ], "executionState": "string", "executionId": "string", "requestId": "string", "nextPageId": "string" } |
400 | Invalid request parameters |
401 | Unauthorized - API key missing or invalid |
429 | Too many requests |
500 | Internal server error |
Get AI Responses for All Your Tracked Prompts
/data-api/v1/ai_search_response
This endpoint returns data about the AI search engine responses to your tracked prompts, including the actual AI response text.
Optional Asynchronous Request
Note that this request may also be made with an asynchronous workflow:
-
Initial Request: Submit your initial request to
/data-api/v1/async/ai_search_response
and receive a 202 response with theexecutionId
key-value pair. -
Polling. Add the
executionId
key and value to your request body to poll for results. While the asynchronous workflow is running, you will continue to receive 202 responses. When the query is complete, you'll receive a 200 response. -
Pagination. Use the
nextPageId
value from the completed 200 response to get additional pages. You can also specify the number of results per page using thepageSize
parameter.
Parameters
- For your initial request in the asynchronous query, include all the parameters listed in the Request Body section below.
- For polling requests, include
executionId
and, optionallypageSize
andnextPageId
for pagination.
Request Body
{ "time_period_start": "2024-03-01", "time_period_end": "2024-03-31", "collection_frequency": "DAILY", "locode": "US", "ai_search_engine_name": "ChatGPT Search 4o", "topic": "marketing automation", "prompt": "best marketing automation tools", "limit": 100 }
time_period_start
Type: string | Example: 2025-07-01
Required. The first date, in YYYY-MM-DD format, from which you want to begin to pull data with this request.
time_period_end
Type: string | Example: 2025-07-08
Required. The final date, in YYYY-MM-DD format, through which you want to pull data with this request.
collection_date
Type: string | Example: WEEKLY
Required. The frequency, either WEEKLY
or DAILY
, to see reported AI search data. Note that by default, Conductor collects search data is weekly, and only collects daily if specific topics are configured to do so. Choosing to report on daily topics here will include data only for those topics that have been configured for daily tracking.
Enum values:
DAILY
WEEKLY
locode
Type: string | Example: US
Optional. The location for which data should be returned.
By default, data for all locations is returned.
Enum values:
Coming soon
ai_search_engine_name
Type: string | Example: ChatGPT Search 4o
Optional. The specific AI search engine for which you want to return data.
By default, data for all engines is returned.
Enum values:
ChatGPT Search 3.5
ChatGPT Search 4o
ChatGPT Search 4.5
Perplexity AI GPT-4
Google Gemini
Google AIO
Google AI Mode
topic
Type: string | Example: blood testing labs
Optional. The specific tracked topic for which you want to return data.
By default, data for all topics is returned.
prompt
Type: string | Example: allergy blood testing
Optional. The specific tracked prompt for which you want to return data.
By default, data for all prompts is returned.
limit
Type: integer | Example: 100
Optional. The maximum number of results returned through this endpoint.
By default, this endpoint returns up to 1,000 results, which is also the maximum number or results that can be returned.
Responses
200 |
Successful query execution Schema: See below Example { "results": [ { "organization_name": "Example Organization", "organization_id": "DF3DAF2955754FDDB180CF505AE4761E", "account_name": "Example Account", "account_id": 123, "web_property_name": "conductor.com", "web_property_id": 456, "collection_frequency": "DAILY", "time_period_start": "2024-03-01", "time_period_end": "2024-03-31", "locode": "US", "ai_search_engine_id": "engine-123", "ai_search_engine_name": "ChatGPT Search 4o", "topic": "marketing automation", "prompt": "best marketing automation tools", "intent": "commercial", "persona_name": "Marketing Manager", "ai_response": "Here are some of the best marketing automation tools available...", "collection_date": “2024-03-15” } ], "executionState": "string", "executionId": "string", "requestId": "string", "nextPageId": “string” } |
400 | Invalid request parameters |
401 | Unauthorized - API key missing or invalid |
429 | Too many requests |
500 | Internal server error |
Dataset Schemas and Definitions
Get Datasets
This is the response schema for the /data-api/v1/get-datasets
endpoint.
name
Type: string | Example: visibility
The name of the dataset.
bi_visible
Type: boolean | Example: true
Indicates whether the dataset is available through business intelligence (hence, "bi") integrations. Currently, Conductor supports Looker Studio.
Keyword Search Performance
This is the response schema for the /data-api/v1/keyword_rankings
endpoint.
account_id
Type: integer | Example: 24558
The identifier in Conductor for the platform account associated with the result.
web_property_id
Type: integer | Example: 131208
The identifier in Conductor for the web property associated with the result.
organization_id
Type: string | Example: DF3DAF2955754FDDB180CF505AE4761E
The unique identifier assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
organization_name
:
Type: string | Example: Conductor LLC
The name assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
time_period_start
Type: string | Example: 2025-07-01
The first date, in YYYY-MM-DD format, from which you are pulling data.
time_period_end
Type: type | Example: sdf
The last date, in YYYY-MM-DD format, through which you are pulling data.
collection_date
Type: date | Example: 2025-07-01
The date Conductor collected data about this result, in YYYY-MM-DD format.
search_engine_name
Type: string | Example: GOOGLE_en_US
The identifier of the rank source for this result. It combines the search_engine
, search_engine_language_code
, and search_engine_country_code
objects.
search_engine
Type: string | Example: GOOGLE
The identifier for the search engine on which you are tracking this keyword.
search_engine_country_code
Type: string | Example: US
The identifier for the country associated with the search engine on which you are tracking this keyword.
search_engine_language_code
Type: string | Example: en
The identifier for the language associated with the search engine on which you are tracking this keyword.
locode
Type: string | Example: US
The location code associated with the result.
We'll provide an enumerated list of values for this array soon.
device
Type: string | Example: DESKTOP
The type of device used for the search.
Enum values vary by endpoint:
- For traditional search endpoints:
DESKTOP
,MOBILE
,TABLET
. - For AI search endpoints:
DESKTOP
,MOBILE
.
query
Type: string | Example: best new mattresses
The specific tracked keyword associated with this result.
title
Type: string | Example: Best Smartphones 2024 - Complete Guide
The page title collected for the associated URL.
normalized_url
Type: string | Example: https://example.com/best-smartphones-2024
The normalized version of the URL associated with this result. Conductor cleans and standardizes URLs to provide consistent page reporting.
This process includes normalizing:
- Different cases (
Example.com/Path
vsexample.com/path
) - Trailing slashes (
/page
vs/page/
) - Multiple encodings (
%7E
vs~
) - Query parameter ordering (
?b=2&a=1
vs?a=1&b=2
) - Fragment identifiers (
#section
) - Duplicated query parameters
root_domain
Type: string | Example: conductor.com
The root domain of the website that includes this the URL associated with this result.
subdomain
Type: string | Example: support.conductor.com
If any, the subdomain in the website to which this result belongs.
result_type
Type: string | Example: STANDARD_LINK
The type of result on the search engine results page—including standard and universal result types—associated with this result. Enum values are as follows:
-
STANDARD_LINK
. These are Google's traditional "blue link" results. -
AIO_REFERENCE_RESULT
. Google's AI Overview results. -
GOOGLE_ANSWER_BOX
. Google's Answer Box results, which Google also calls Featured Snippets. -
APPS_RESULT
. Google's App results. -
CAROUSEL_RESULT
. Google's Carousel results. -
ENCYCLOPEDIA
. Baidu's Encyclopedia results. -
EVENT_PACK
andEVENT_RESULT
. Google's Event results. To query all Event results, you'll need both values. -
FORUM
. Baidu's Forum results. -
IMAGE_RESULT
. Google's Image results. -
JOB_RESULT
. Google's Jobs results. -
N_PACK
. Google's Local 3 Pack results. -
NEWS_RESULT
. Google's News results. -
NEWS_CAROUSEL
. Google's News Carousel results -
PAA_RESULT
. Google's People Also Ask results. -
PLACES_GROUP
andPLACES_SINGLE
. Google's Local Pack results. To query all Local Pack results, you'll need both values. -
PRODUCT_RESULT
. Google's Product results. -
REALTIME_PROFILE_TWEETS
. Google' Twitter results. -
RECIPE_CAROUSEL
. Google's Recipe results. -
VIDEO_CAROUSEL
. Google's Video Carousel results. -
VIDEO_NATURAL
andVIDEO_RESULT
. Google's Video results. To query all Video results, you'll need both values.
rank_standard
Type: integer | Example: 1
Position in standard rank for this result.
rank_true
Type: integer | Example: 1
Position in true rank for this result.
rank_result_type
Type: integer | Example: 3
The rank for the result within the universal result type it owns. For example, if your result is the third item in a carousel result, your rank_result_type
would be "3".
monthly_search_volume
Type: integer | Example: 2500
The monthly search volume for the keyword. Depending on data availability, this data might be either:
- The actual approximate monthly search volume during the month specified.
- A rolling average of search volume that Conductor calculates for a given month based on the previous 12 months of search volume data.
cpc
Type: float | Example: 9.90
The average cost-per-click for paid advertisements related to the keyword.
competition
Type: string | Example: LOW
Describes the level of competition for the keyword in paid search.
approximate_search_volume
Type: integer | Example: 2400
The approximate monthly search volume for this keyword.
Keyword Visibility
This is the response schema for the /data-api/v1/composite_visibility
endpoint.
account_id
Type: integer | Example: 24558
The identifier in Conductor for the platform account associated with the result.
account_name
Type: string | Example: Conductor
The name of the Conductor account associated with the result.
web_property_id
Type: integer | Example: 131208
The identifier in Conductor for the web property associated with the result.
web_property_name
Type: integer | Example: conductor.com
The name of the website or property associated with the data.
organization_id
Type: string | Example: DF3DAF2955754FDDB180CF505AE4761E
The unique identifier assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
organization_name
:
Type: string | Example: Conductor LLC
The name assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
rank_source
Type: string | Example: GOOGLE_EN_US
The combined string indicating the search engine, language, and country associated with the tracked keyword results.
device
Type: string | Example: DESKTOP
The type of device used for the search.
Enum values vary by endpoint:
- For traditional search endpoints:
DESKTOP
,MOBILE
,TABLET
. - For AI search endpoints:
DESKTOP
,MOBILE
.
locode
Type: string | Example: US
The location code associated with the result.
We'll provide an enumerated list of values for this array soon.
time_period_start
Type: string | Example: 2025-07-01
The first date, in YYYY-MM-DD format, from which you are pulling data.
time_period_end
Type: type | Example: sdf
The last date, in YYYY-MM-DD format, through which you are pulling data.
time_period_type
Type: string | Example: WEEK
The reporting granularity across which data is aggregated.
collection_date
Type: date | Example: 2025-07-01
The date Conductor collected data about this result, in YYYY-MM-DD format.
tracked_count
Type: integer | Example: 1000
The total number of tracked keywords you are reporting on.
tracked_ranked
Type: integer | Example: 950
The total number of tracked keywords for which your pages are ranking.
top_3
Type: integer | Example: 150
The number of tracked keywords for which your pages are ranking in positions 1–3.
top_4_10
Type: integer | Example: 200
The number of tracked keywords for which your pages are ranking in positions 4–10.
top_11_20
Type: integer | Example: 250
The number of tracked keywords for which your pages are ranking in positions 11–20.
top_21_40
Type: integer | Example: 200
The number of tracked keywords for which your pages are ranking in positions 21–40.
top_41_100
Type: integer | Example: 150
The number of tracked keywords for which your pages are ranking in positions 1–3.
Highest Ranking URL per Keyword for a Single Time Period
This is the response schema for the /data-api/v1/highest_ranking_url_per_keyword
endpoint.
account_id
Type: integer | Example: 24558
The identifier in Conductor for the platform account associated with the result.
account_name
Type: string | Example: Conductor
The name of the Conductor account associated with the result.
web_property_id
Type: integer | Example: 131208
The identifier in Conductor for the web property associated with the result.
organization_name
:
Type: string | Example: Conductor LLC
The name assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
organization_id
Type: string | Example: DF3DAF2955754FDDB180CF505AE4761E
The unique identifier assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
organization_name
:
Type: string | Example: Conductor LLC
The name assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
query
Type: string | Example: best new mattresses
The specific tracked keyword associated with this result.
locode
Type: string | Example: US
The location code associated with the result.
We'll provide an enumerated list of values for this array soon.
device
Type: string | Example: DESKTOP
The type of device used for the search.
Enum values vary by endpoint:
- For traditional search endpoints:
DESKTOP
,MOBILE
,TABLET
. - For AI search endpoints:
DESKTOP
,MOBILE
.
rank_source_engine
Type: string | Example: google
The identifier for the search engine on which you are tracking this keyword.
We'll publish an enumerated list of values for this array soon.
rank_source_country
Type: string | Example: US
The country code associated with the rank source for this result.
We'll publish an enumerated list of values for this array soon.
rank_source_country
Type: string | Example: US
The country code associated with the rank source for this result.
We'll publish an enumerated list of values for this array soon.
rank_source_language
Type: string | Example: en
The language code associated with the rank source for this result.
We'll publish an enumerated list of values for this array soon.
collection_frequency
Type: string | Example: WEEKLY
How frequently the data was collected.
time_period
Type: string | Example: 2025-07-17
The time period for this data point.
rank_true
Type: integer | Example: 1
Position in true rank for this result.
rank_standard
Type: integer | Example: 1
Position in standard rank for this result.
title
Type: string | Example: Best Smartphones 2024 - Complete Guide
The page title collected for the associated URL.
normalized_url
Type: string | Example: https://example.com/best-smartphones-2024
The normalized version of the URL associated with this result. Conductor cleans and standardizes URLs to provide consistent page reporting.
This process includes normalizing:
- Different cases (
Example.com/Path
vsexample.com/path
) - Trailing slashes (
/page
vs/page/
) - Multiple encodings (
%7E
vs~
) - Query parameter ordering (
?b=2&a=1
vs?a=1&b=2
) - Fragment identifiers (
#section
) - Duplicated query parameters
root_domain
Type: string | Example: conductor.com
The root domain of the website that includes this the URL associated with this result.
domain
Type: string | Example: www.conductor.com
The full domain of to which the URL associated with this result belongs.
result_type
Type: string | Example: STANDARD_LINK
The type of result on the search engine results page—including standard and universal result types—associated with this result. Enum values are as follows:
-
STANDARD_LINK
. These are Google's traditional "blue link" results. -
AIO_REFERENCE_RESULT
. Google's AI Overview results. -
GOOGLE_ANSWER_BOX
. Google's Answer Box results, which Google also calls Featured Snippets. -
APPS_RESULT
. Google's App results. -
CAROUSEL_RESULT
. Google's Carousel results. -
ENCYCLOPEDIA
. Baidu's Encyclopedia results. -
EVENT_PACK
andEVENT_RESULT
. Google's Event results. To query all Event results, you'll need both values. -
FORUM
. Baidu's Forum results. -
IMAGE_RESULT
. Google's Image results. -
JOB_RESULT
. Google's Jobs results. -
N_PACK
. Google's Local 3 Pack results. -
NEWS_RESULT
. Google's News results. -
NEWS_CAROUSEL
. Google's News Carousel results -
PAA_RESULT
. Google's People Also Ask results. -
PLACES_GROUP
andPLACES_SINGLE
. Google's Local Pack results. To query all Local Pack results, you'll need both values. -
PRODUCT_RESULT
. Google's Product results. -
REALTIME_PROFILE_TWEETS
. Google' Twitter results. -
RECIPE_CAROUSEL
. Google's Recipe results. -
VIDEO_CAROUSEL
. Google's Video Carousel results. -
VIDEO_NATURAL
andVIDEO_RESULT
. Google's Video results. To query all Video results, you'll need both values.
monthly_search_volume
Type: integer | Example: 2500
The monthly search volume for the keyword. Depending on data availability, this data might be either:
- The actual approximate monthly search volume during the month specified.
- A rolling average of search volume that Conductor calculates for a given month based on the previous 12 months of search volume data.
msv_collection_month
Type: integer | Example: 202507
The month, in YYYYMM format, during which the monthly search volume data point was collected.
in_average_msv
Type: integer | Example: 0
Indicates whether the monthly search volume data point is a 12 month average or the actual approximate value for that month. See the monthly_search_volume
object for more information.
cpc
Type: float | Example: 9.90
The average cost-per-click for paid advertisements related to the keyword.
competition
Type: string | Example: LOW
Describes the level of competition for the keyword in paid search.
Monthly Search Volume Seasonality
This is the response schema for the /data-api/v1/msv_seasonality
endpoint.
account_id
Type: integer | Example: 24558
The identifier in Conductor for the platform account associated with the result.
account_name
Type: string | Example: Conductor
The name of the Conductor account associated with the result.
web_property_id
Type: integer | Example: 131208
The identifier in Conductor for the web property associated with the result.
web_property_name
Type: integer | Example: conductor.com
The name of the website or property associated with the data.
organization_id
Type: string | Example: DF3DAF2955754FDDB180CF505AE4761E
The unique identifier assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
organization_name
:
Type: string | Example: Conductor LLC
The name assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
rank_source
Type: string | Example: GOOGLE_EN_US
The combined string indicating the search engine, language, and country associated with the tracked keyword results.
device
Type: string | Example: DESKTOP
The type of device used for the search.
Enum values vary by endpoint:
- For traditional search endpoints:
DESKTOP
,MOBILE
,TABLET
. - For AI search endpoints:
DESKTOP
,MOBILE
.
locode
Type: string | Example: US
The location code associated with the result.
We'll provide an enumerated list of values for this array soon.
collection_frequency
Type: string | Example: WEEKLY
How frequently the data was collected.
collection_month
Type: integer | Example: 202507
The month, in YYYYMM format, during which the data point collected.
search_volume
Type: integer | Example: 2400
The total search volume for the month.
is_average
Type: boolean | Example: false
Indicates whether the search volume is a 12-month average (true
) or based on actual approximate volume (false
).
AI Search Performance
This is the response schema for the /data-api/v1/ai_search_performance
endpoint.
organization_name
:
Type: string | Example: Conductor LLC
The name assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
organization_id
Type: string | Example: DF3DAF2955754FDDB180CF505AE4761E
The unique identifier assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
account_name
Type: string | Example: Conductor
The name of the Conductor account associated with the result.
account_id
Type: integer | Example: 24558
The identifier in Conductor for the platform account associated with the result.
web_property_name
Type: integer | Example: conductor.com
The name of the website or property associated with the data.
web_property_id
Type: integer | Example: 131208
The identifier in Conductor for the web property associated with the result.
time_period_start
Type: string | Example: 2025-07-01
The first date, in YYYY-MM-DD format, from which you are pulling data.
time_period_end
Type: type | Example: sdf
The last date, in YYYY-MM-DD format, through which you are pulling data.
locode
Type: string | Example: US
The location code associated with the result.
We'll provide an enumerated list of values for this array soon.
ai_search_engine_name
Type: type | Example: Perplexity
The name of the AI search engine associated with the result.
Enum values:
ChatGPT Search 3.5
ChatGPT Search 4o
ChatGPT Search 4.5
Perplexity AI GPT-4
Google Gemini
Google AIO
Google AI Mode
topic
Type: string | Example: marketing automation
The topic associated with the prompt.
prompt
Type: string | Example: best marketing automation tools
The specific text of the relevant prompt.
intent
Type: string | Example: Comparison
The intent type associated with the related prompt.
Enum values:
Brand/Service Navigation
Comparison
Education
Other
Pricing
Purchase
Recommendations
Support
persona_name
Type: string | Example: Eco-conscious shopper
The name of the persona associated with the result.
brands
Type: array | Example: ["conductor", "conductor creator"]
The brands mentioned in an AI search response.
citations_urls
Type: array | Example: ["https://conductor.com/guide", "https://hubspot.com/blog"]
The array of URLs cited in an AI search response.
citations_root_domains
Type: array | Example: ["conductor.com", "hubspot.com"]
The array of root domains that include cited URLs in an AI search response.
collection_date
Type: date | Example: 2025-07-01
The date Conductor collected data about this result, in YYYY-MM-DD format.
AI Market Share Brand Mention Overview
This is the response schema for the /data-api/v1/ai_marketshare_brand_overview
endpoint.
organization_name
:
Type: string | Example: Conductor LLC
The name assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
organization_id
Type: string | Example: DF3DAF2955754FDDB180CF505AE4761E
The unique identifier assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
account_name
Type: string | Example: Conductor
The name of the Conductor account associated with the result.
account_id
Type: integer | Example: 24558
The identifier in Conductor for the platform account associated with the result.
web_property_name
Type: integer | Example: conductor.com
The name of the website or property associated with the data.
web_property_id
Type: integer | Example: 131208
The identifier in Conductor for the web property associated with the result.
time_period_start
Type: string | Example: 2025-07-01
The first date, in YYYY-MM-DD format, from which you are pulling data.
time_period_end
Type: type | Example: sdf
The last date, in YYYY-MM-DD format, through which you are pulling data.
collection_frequency
Type: string | Example: WEEKLY
How frequently the data was collected.
locode
Type: string | Example: US
The location code associated with the result.
We'll provide an enumerated list of values for this array soon.
ai_search_engine_name
Type: type | Example: Perplexity
The name of the AI search engine associated with the result.
Enum values:
ChatGPT Search 3.5
ChatGPT Search 4o
ChatGPT Search 4.5
Perplexity AI GPT-4
Google Gemini
Google AIO
Google AI Mode
brand_name
Type: string | Example: conductor intelligence
The brand name associated with the result.
brand_attribution
Type: string | Example: COMPETITOR
Identifies whether the brand mentioned is one of your brands or one of your competitors.
topic_total
Type: integer | Example: 100
The total number of topics.
topic_brand_count
Type: integer | Example: 25
The number of tracked topics for which the brand is mentioned in AI search responses.
topic_brand_market_share_percent
Type: number | Example: 25
The percentage of topics for which the brand is mentioned in AI search responses.
prompt_total
Type: integer | Example: 500
The total number of prompts.
prompt_response_brand_count
Type: integer | Example: 25
The number of prompts for which the brand is mentioned in the AI search response.
prompt_response_brand_market_share_percent
Type: number | Example: 15
The percentage of prompts for which the brand is mentioned in the AI search response.
AI Market Share Brand Mention Trends over Time
This is the response schema for the /data-api/v1/ai_marketshare_brand_trends
endpoint.
organization_name
:
Type: string | Example: Conductor LLC
The name assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
organization_id
Type: string | Example: DF3DAF2955754FDDB180CF505AE4761E
The unique identifier assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
account_name
Type: string | Example: Conductor
The name of the Conductor account associated with the result.
account_id
Type: integer | Example: 24558
The identifier in Conductor for the platform account associated with the result.
web_property_name
Type: integer | Example: conductor.com
The name of the website or property associated with the data.
web_property_id
Type: integer | Example: 131208
The identifier in Conductor for the web property associated with the result.
time_period_start
Type: string | Example: 2025-07-01
The first date, in YYYY-MM-DD format, from which you are pulling data.
time_period_end
Type: type | Example: sdf
The last date, in YYYY-MM-DD format, through which you are pulling data.
collection_frequency
Type: string | Example: WEEKLY
How frequently the data was collected.
locode
Type: string | Example: US
The location code associated with the result.
We'll provide an enumerated list of values for this array soon.
ai_search_engine_name
Type: type | Example: Perplexity
The name of the AI search engine associated with the result.
Enum values:
ChatGPT Search 3.5
ChatGPT Search 4o
ChatGPT Search 4.5
Perplexity AI GPT-4
Google Gemini
Google AIO
Google AI Mode
brand_name
Type: string | Example: conductor intelligence
The brand name associated with the result.
brand_attribution
Type: string | Example: COMPETITOR
Identifies whether the brand mentioned is one of your brands or one of your competitors.
topic_total
Type: integer | Example: 100
The total number of topics.
topic_brand_count
Type: integer | Example: 25
The number of topics for which the brand is mentioned in AI search responses.
topic_brand_market_share_percent
Type: number | Example: 16
The percentage of topics for which the brand is mentioned in AI search responses.
prompt_total
Type: integer | Example: 500
The total number of prompts.
prompt_response_brand_count
Type: integer | Example: 23
The number of prompts for which the brand is mentioned in the AI search response.
prompt_response_brand_market_share_percent
Type: number | Example: 17
The percentage of prompts for which the brand is mentioned in the AI search response.
AI Market Share Website Citations Overview
This is the response schema for the /data-api/v1/ai_marketshare_citations_overview
endpoint.
organization_name
:
Type: string | Example: Conductor LLC
The name assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
organization_id
Type: string | Example: DF3DAF2955754FDDB180CF505AE4761E
The unique identifier assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
account_name
Type: string | Example: Conductor
The name of the Conductor account associated with the result.
account_id
Type: integer | Example: 24558
The identifier in Conductor for the platform account associated with the result.
web_property_name
Type: integer | Example: conductor.com
The name of the website or property associated with the data.
web_property_id
Type: integer | Example: 131208
The identifier in Conductor for the web property associated with the result.
time_period_start
Type: string | Example: 2025-07-01
The first date, in YYYY-MM-DD format, from which you are pulling data.
time_period_end
Type: type | Example: sdf
The last date, in YYYY-MM-DD format, through which you are pulling data.
collection_frequency
Type: string | Example: WEEKLY
How frequently the data was collected.
locode
Type: string | Example: US
The location code associated with the result.
We'll provide an enumerated list of values for this array soon.
ai_search_engine_name
Type: type | Example: Perplexity
The name of the AI search engine associated with the result.
Enum values:
ChatGPT Search 3.5
ChatGPT Search 4o
ChatGPT Search 4.5
Perplexity AI GPT-4
Google Gemini
Google AIO
Google AI Mode
domain_or_web_property_segment
Type: string | Example: conductor.com
The domain or web property segment that appears in the citation
citation_ownership
Type: string | Example: COMPETITOR
Identifies whether your website owns this result or someone else.
Enum values vary depending on which endpoint you called:
-
/data-api/v1/ai_marketshare_citations_trends:
YOU
,COMPETITOR
,UNKNOWN
-
/data-api/v1/ai_search_performance_citation:
YOU
,OTHER
topic_total
Type: integer | Example: 100
The total number of topics.
topic_citation_count
Type: integer | Example: 42
The number of topics for which the domain or web property segment is cited.
topic_citation_market_share_percent
Type: number | Example: 23
The percentage of topics for which the domain or web property segment is cited.
prompt_total
Type: integer | Example: 500
The total number of prompts.
prompt_response_citation_count
Type: integer | Example: 42
The number of prompts for which the domain or web property segment is cited.
prompt_response_citation_market_share_percent
Type: number | Example: 23
The percentage of prompts for which the domain or web property segment is cited.
AI Market Share Website Citation Trends over Time
This is the response schema for the /data-api/v1/ai_marketshare_citations_trends
endpoint.
organization_name
:
Type: string | Example: Conductor LLC
The name assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
organization_id
Type: string | Example: DF3DAF2955754FDDB180CF505AE4761E
The unique identifier assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
account_name
Type: string | Example: Conductor
The name of the Conductor account associated with the result.
account_id
Type: integer | Example: 24558
The identifier in Conductor for the platform account associated with the result.
web_property_name
Type: integer | Example: conductor.com
The name of the website or property associated with the data.
web_property_id
Type: integer | Example: 131208
The identifier in Conductor for the web property associated with the result.
time_period_start
Type: string | Example: 2025-07-01
The first date, in YYYY-MM-DD format, from which you are pulling data.
time_period_end
Type: type | Example: sdf
The last date, in YYYY-MM-DD format, through which you are pulling data.
collection_frequency
Type: string | Example: WEEKLY
How frequently the data was collected.
locode
Type: string | Example: US
The location code associated with the result.
We'll provide an enumerated list of values for this array soon.
ai_search_engine_name
Type: type | Example: Perplexity
The name of the AI search engine associated with the result.
Enum values:
ChatGPT Search 3.5
ChatGPT Search 4o
ChatGPT Search 4.5
Perplexity AI GPT-4
Google Gemini
Google AIO
Google AI Mode
domain_or_web_property_segment
Type: string | Example: conductor.com
The domain or web property segment that appears in the citation
citation_ownership
Type: string | Example: COMPETITOR
Identifies whether your website owns this result or someone else.
Enum values vary depending on which endpoint you called:
-
/data-api/v1/ai_marketshare_citations_trends:
YOU
,COMPETITOR
,UNKNOWN
-
/data-api/v1/ai_search_performance_citation:
YOU
,OTHER
topic_total
Type: integer | Example: 100
The total number of topics.
topic_citation_count
Type: integer | Example: 42
The number of topics for which the domain or web property segment is cited.
topic_citation_market_share_percent
Type: number | Example: 23
The percentage of topics for which the domain or web property segment is cited.
prompt_total
Type: integer | Example: 500
The total number of prompts.
prompt_response_citation_count
Type: integer | Example: 42
The number of prompts for which the domain or web property segment is cited.
prompt_response_citation_market_share_percent
Type: number | Example: 23
The percentage of prompts for which the domain or web property segment is cited.
AI Visibility Brand Mentions over Time
This is the response schema for the /data-api/v1/ai_visibility_brand_attribution
endpoint.
organization_name
:
Type: string | Example: Conductor LLC
The name assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
organization_id
Type: string | Example: DF3DAF2955754FDDB180CF505AE4761E
The unique identifier assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
account_name
Type: string | Example: Conductor
The name of the Conductor account associated with the result.
account_id
Type: integer | Example: 24558
The identifier in Conductor for the platform account associated with the result.
web_property_name
Type: integer | Example: conductor.com
The name of the website or property associated with the data.
web_property_id
Type: integer | Example: 131208
The identifier in Conductor for the web property associated with the result.
time_period_start
Type: string | Example: 2025-07-01
The first date, in YYYY-MM-DD format, from which you are pulling data.
time_period_end
Type: type | Example: sdf
The last date, in YYYY-MM-DD format, through which you are pulling data.
collection_frequency
Type: string | Example: WEEKLY
How frequently the data was collected.
locode
Type: string | Example: US
The location code associated with the result.
We'll provide an enumerated list of values for this array soon.
ai_search_engine_name
Type: type | Example: Perplexity
The name of the AI search engine associated with the result.
Enum values:
ChatGPT Search 3.5
ChatGPT Search 4o
ChatGPT Search 4.5
Perplexity AI GPT-4
Google Gemini
Google AIO
Google AI Mode
topic_total
Type: integer | Example: 100
The total number of topics.
topic_brand_count
Type: integer | Example: 42
The number of topics for which your brand is mentioned in AI search responses.
topic_without_brand_count
Type: integer | Example: 23
The number of topics for which your brand is not mentioned in AI search responses.
prompt_total
Type: integer | Example: 500
The total number of prompts.
prompt_response_brand_count
Type: integer | Example: 54
The number of prompts for which your brand is mentioned in AI search responses.
prompt_response_without_brand_count
Type: integer | Example: 33
The number of prompts for which your brand is not mentioned in AI search responses.
AI Visibility Website Citations over Time
This is the response schema for the /data-api/v1/ai_visibility_citations_attribution
endpoint.
organization_name
:
Type: string | Example: Conductor LLC
The name assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
organization_id
Type: string | Example: DF3DAF2955754FDDB180CF505AE4761E
The unique identifier assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
account_name
Type: string | Example: Conductor
The name of the Conductor account associated with the result.
account_id
Type: integer | Example: 24558
The identifier in Conductor for the platform account associated with the result.
web_property_name
Type: integer | Example: conductor.com
The name of the website or property associated with the data.
web_property_id
Type: integer | Example: 131208
The identifier in Conductor for the web property associated with the result.
time_period_start
Type: string | Example: 2025-07-01
The first date, in YYYY-MM-DD format, from which you are pulling data.
time_period_end
Type: type | Example: sdf
The last date, in YYYY-MM-DD format, through which you are pulling data.
collection_frequency
Type: string | Example: WEEKLY
How frequently the data was collected.
locode
Type: string | Example: US
The location code associated with the result.
We'll provide an enumerated list of values for this array soon.
ai_search_engine_name
Type: type | Example: Perplexity
The name of the AI search engine associated with the result.
Enum values:
ChatGPT Search 3.5
ChatGPT Search 4o
ChatGPT Search 4.5
Perplexity AI GPT-4
Google Gemini
Google AIO
Google AI Mode
topic_total
Type: integer | Example: 100
The total number of topics.
topic_citation_count
Type: integer | Example: 42
The number of topics for which the domain or web property segment is cited.
topic_without_citation_count
Type: integer | Example: 23
The number of topics for which no citations appear.
prompt_total
Type: integer | Example: 500
The total number of prompts.
prompt_response_citation_count
Type: integer | Example: 42
The number of prompts for which the domain or web property segment is cited.
prompt_response_without_citation_count
Type: integer | Example: 23
The number of prompts for which no citations appear.
AI Search Performance Brand Mentions
This is the response schema for the /data-api/v1/ai_search_performance_brand
endpoint.
organization_name
:
Type: string | Example: Conductor LLC
The name assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
organization_id
Type: string | Example: DF3DAF2955754FDDB180CF505AE4761E
The unique identifier assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
account_name
Type: string | Example: Conductor
The name of the Conductor account associated with the result.
account_id
Type: integer | Example: 24558
The identifier in Conductor for the platform account associated with the result.
web_property_name
Type: integer | Example: conductor.com
The name of the website or property associated with the data.
web_property_id
Type: integer | Example: 131208
The identifier in Conductor for the web property associated with the result.
time_period_start
Type: string | Example: 2025-07-01
The first date, in YYYY-MM-DD format, from which you are pulling data.
time_period_end
Type: type | Example: sdf
The last date, in YYYY-MM-DD format, through which you are pulling data.
collection_frequency
Type: string | Example: WEEKLY
How frequently the data was collected.
locode
Type: string | Example: US
The location code associated with the result.
We'll provide an enumerated list of values for this array soon.
ai_search_engine_name
Type: type | Example: Perplexity
The name of the AI search engine associated with the result.
Enum values:
ChatGPT Search 3.5
ChatGPT Search 4o
ChatGPT Search 4.5
Perplexity AI GPT-4
Google Gemini
Google AIO
Google AI Mode
topic
Type: string | Example: marketing automation
The topic associated with the prompt.
prompt
Type: string | Example: best marketing automation tools
The specific text of the relevant prompt.
intent
Type: string | Example: Comparison
The intent type associated with the related prompt.
Enum values:
Brand/Service Navigation
Comparison
Education
Other
Pricing
Purchase
Recommendations
Support
persona_name
Type: string | Example: Eco-conscious shopper
The name of the persona associated with the result.
brand_name
Type: string | Example: conductor intelligence
The brand name associated with the result.
brand_type
Type: string | Example: YOU
Designates the brand as one of the following enum values: YOU
, COMPETITOR
, PARTNER
collection_date
Type: date | Example: 2025-07-01
The date Conductor collected data about this result, in YYYY-MM-DD format.
AI Search Performance Website Citations
This is the response schema for the /data-api/v1/ai_search_performance_citation
endpoint.
organization_name
:
Type: string | Example: Conductor LLC
The name assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
organization_id
Type: string | Example: DF3DAF2955754FDDB180CF505AE4761E
The unique identifier assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
account_name
Type: string | Example: Conductor
The name of the Conductor account associated with the result.
account_id
Type: integer | Example: 24558
The identifier in Conductor for the platform account associated with the result.
web_property_name
Type: integer | Example: conductor.com
The name of the website or property associated with the data.
web_property_id
Type: integer | Example: 131208
The identifier in Conductor for the web property associated with the result.
time_period_start
Type: string | Example: 2025-07-01
The first date, in YYYY-MM-DD format, from which you are pulling data.
time_period_end
Type: type | Example: sdf
The last date, in YYYY-MM-DD format, through which you are pulling data.
collection_frequency
Type: string | Example: WEEKLY
How frequently the data was collected.
locode
Type: string | Example: US
The location code associated with the result.
We'll provide an enumerated list of values for this array soon.
ai_search_engine_name
Type: type | Example: Perplexity
The name of the AI search engine associated with the result.
Enum values:
ChatGPT Search 3.5
ChatGPT Search 4o
ChatGPT Search 4.5
Perplexity AI GPT-4
Google Gemini
Google AIO
Google AI Mode
topic
Type: string | Example: marketing automation
The topic associated with the prompt.
prompt
Type: string | Example: best marketing automation tools
The specific text of the relevant prompt.
intent
Type: string | Example: Comparison
The intent type associated with the related prompt.
Enum values:
Brand/Service Navigation
Comparison
Education
Other
Pricing
Purchase
Recommendations
Support
persona_name
Type: string | Example: Eco-conscious shopper
The name of the persona associated with the result.
citation_url
Type: string | Example: https://conductor.com/marketing-automation-guide
The full URL cited in the AI search response.
citation_root_domain
Type: string | Example: conductor.com
The root domain to which the cited URL belongs.
citation_web_property_segment
Type: string | Example: conductor.com
The web property segment to which the cited URL belongs.
citation_ownership
Type: string | Example: COMPETITOR
Identifies whether your website owns this result or someone else.
Enum values vary depending on which endpoint you called:
-
/data-api/v1/ai_marketshare_citations_trends:
YOU
,COMPETITOR
,UNKNOWN
-
/data-api/v1/ai_search_performance_citation:
YOU
,OTHER
collection_date
Type: date | Example: 2025-07-01
The date Conductor collected data about this result, in YYYY-MM-DD format.
AI Topic Details
This is the response schema for the /data-api/v1/ai_topic_details
endpoint.
organization_name
:
Type: string | Example: Conductor LLC
The name assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
account_name
Type: string | Example: Conductor
The name of the Conductor account associated with the result.
web_property_name
Type: integer | Example: conductor.com
The name of the website or property associated with the data.
reference_time_period_start
Type: type | Example: sdf
The first date, in YYYY-MM-DD format, from which you are pulling data with this request.
reference_time_period_end
Type: string | Example: 2025-07-08
The final date, in YYYY-MM-DD format, through which you are pulling data with this request..
comparison_time_period_start
Type: string | Example: 2025-07-01
If you are comparing data between the reference data and a comparison data, this is the first date, in YYYY-MM-DD format, from which you are pulling data for the comparison.
comparison_time_period_end
Type: type | Example: sdf
If you are comparing data between the reference data and a comparison data, this is the final date, in YYYY-MM-DD format, through which you are pulling data for the comparison.
collection_frequency
Type: string | Example: WEEKLY
How frequently the data was collected.
locode
Type: string | Example: US
The location code associated with the result.
We'll provide an enumerated list of values for this array soon.
ai_search_engine_name
Type: type | Example: Perplexity
The name of the AI search engine associated with the result.
Enum values:
ChatGPT Search 3.5
ChatGPT Search 4o
ChatGPT Search 4.5
Perplexity AI GPT-4
Google Gemini
Google AIO
Google AI Mode
topic
Type: string | Example: marketing automation
The topic associated with the prompt.
prompt_total
Type: integer | Example: 500
The total number of prompts.
prompt_brand_count
Type: integer | Example: 23
Number of prompts with brand mentions for this topic.
prompt_brand_count_change
Type: integer | Example: 25
Change in the number of prompts with brand mentions for this topic. (Only returned when comparing time periods.)
prompt_brand_count_percentage
Type: number | Example: 12
Percentage of prompts with brand mentions for this topic.
prompt_brand_count_percentage_change
Type: integer | Example: 14
Change in the percentage of prompts with brand mentions for this topic. (Only returned when comparing time periods.)
prompt_citation_count
Type: integer | Example: 52
Number of prompts with website citations for this topic.
prompt_citation_count_change
Type: integer | Example: 32
Change in the number of prompts with website citations for this topic. (Only returned when comparing time periods.)
prompt_citation_count_percentage
Type: number | Example: 21
Percentage of prompts with website citations for this topic.
prompt_citation_count_percentage_change
Type: integer | Example: 4
Change in the percentage of prompts with website citations for this topic. (Only returned when comparing time periods.)
top_cited_url
Type: string | Example: https://example.com/blood-testing-guide
The URL with the most citations for this topic
AI Prompt Details
This is the response schema for the /data-api/v1/ai_prompt_details
endpoint.
organization_name
:
Type: string | Example: Conductor LLC
The name assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
account_name
Type: string | Example: Conductor
The name of the Conductor account associated with the result.
web_property_name
Type: integer | Example: conductor.com
The name of the website or property associated with the data.
reference_time_period_start
Type: type | Example: sdf
The first date, in YYYY-MM-DD format, from which you are pulling data with this request.
reference_time_period_end
Type: string | Example: 2025-07-08
The final date, in YYYY-MM-DD format, through which you are pulling data with this request..
comparison_time_period_start
Type: string | Example: 2025-07-01
If you are comparing data between the reference data and a comparison data, this is the first date, in YYYY-MM-DD format, from which you are pulling data for the comparison.
comparison_time_period_end
Type: type | Example: sdf
If you are comparing data between the reference data and a comparison data, this is the final date, in YYYY-MM-DD format, through which you are pulling data for the comparison.
collection_frequency
Type: string | Example: WEEKLY
How frequently the data was collected.
locode
Type: string | Example: US
The location code associated with the result.
We'll provide an enumerated list of values for this array soon.
ai_search_engine_name
Type: type | Example: Perplexity
The name of the AI search engine associated with the result.
Enum values:
ChatGPT Search 3.5
ChatGPT Search 4o
ChatGPT Search 4.5
Perplexity AI GPT-4
Google Gemini
Google AIO
Google AI Mode
topic
Type: string | Example: marketing automation
The topic associated with the prompt.
prompt
Type: string | Example: best marketing automation tools
The specific text of the relevant prompt.
intent
Type: string | Example: Comparison
The intent type associated with the related prompt.
Enum values:
Brand/Service Navigation
Comparison
Education
Other
Pricing
Purchase
Recommendations
Support
persona_name
Type: string | Example: Eco-conscious shopper
The name of the persona associated with the result.
brand_count
Type: integer | Example: 14
The number of brand mentions in the AI response during the reference time period or single time period.
brand_count_difference
Type: integer | Example: 23
The difference in number of brand mentions between the comparison time period and the reference time period. (Only returned when comparing time periods.)
brand_count_change_percent
Type: number | Example: 21
The percentage change in the number of brand mentions between the comparison time period and the reference time period (Only returned when comparing time periods.)
citation_count
Type: integer | Example: 42
The number of website citations in the AI response during the reference time period or single time period.
citation_count_difference
Type: integer | Example: 33
The difference in number of website citations between the comparison time period and the reference time period. (Only returned when comparing time periods.)
citation_count_change_percent
Type: number | Example: 10
The percentage change in the number of website citations between the comparison time period and the reference time period (Only returned when comparing time periods.)
AI Search Response
This is the response schema for the /data-api/v1/ai_search_response
endpoint.
organization_name
:
Type: string | Example: Conductor LLC
The name assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
organization_id
Type: string | Example: DF3DAF2955754FDDB180CF505AE4761E
The unique identifier assigned to your organization in Conductor. Organizations may have more than one platform accounts associated with them.
account_name
Type: string | Example: Conductor
The name of the Conductor account associated with the result.
account_id
Type: integer | Example: 24558
The identifier in Conductor for the platform account associated with the result.
web_property_name
Type: integer | Example: conductor.com
The name of the website or property associated with the data.
web_property_id
Type: integer | Example: 131208
The identifier in Conductor for the web property associated with the result.
collection_frequency
Type: string | Example: WEEKLY
How frequently the data was collected.
time_period_start
Type: string | Example: 2025-07-01
The first date, in YYYY-MM-DD format, from which you are pulling data.
time_period_end
Type: type | Example: sdf
The last date, in YYYY-MM-DD format, through which you are pulling data.
locode
Type: string | Example: US
The location code associated with the result.
We'll provide an enumerated list of values for this array soon.
ai_search_engine_id
Type: string | Example: engine-123
The unique identifier of the AI search engine.
ai_search_engine_name
Type: type | Example: Perplexity
The name of the AI search engine associated with the result.
Enum values:
ChatGPT Search 3.5
ChatGPT Search 4o
ChatGPT Search 4.5
Perplexity AI GPT-4
Google Gemini
Google AIO
Google AI Mode
topic
Type: string | Example: marketing automation
The topic associated with the prompt.
prompt
Type: string | Example: best marketing automation tools
The specific text of the relevant prompt.
intent
Type: string | Example: Comparison
The intent type associated with the related prompt.
Enum values:
Brand/Service Navigation
Comparison
Education
Other
Pricing
Purchase
Recommendations
Support
persona_name
Type: string | Example: Eco-conscious shopper
The name of the persona associated with the result.
ai_response
Type: type | Example: sdf
Description
collection_date
Type: date | Example: 2025-07-01
The date Conductor collected data about this result, in YYYY-MM-DD format.