Skip to main content
Queries made to the Data API should have some specific considerations. Read on:

Asynchronous queries

For queries that process large amounts of data, the Data API uses an asynchronous execution model. Instead of holding your connection open (and risking a timeout), you submit a query, receive a tracking ID, and poll for the results at your own pace.
Currently, all endpoints in the Data API require async queries.

The async lifecycle

  1. Initial Request: Submit your query parameters. The API returns a 202 Accepted status along with an executionId.
  2. Polling: Send the executionId back to the endpoint. If it’s still processing, you’ll get another 202 Accepted. Once finished, you’ll get a 200 OK with your data.
  3. Pagination: If your results are large, the completed response includes a nextPageId. Pass this token in your next request to pull the following page of results.

Response fields

Date range and collection_frequency

Data API endpoints collect results on a fixed cadence, so your submitted date range must align with that cadence. Requests that don’t align are rejected before the query runs.
Some endpoints use start_date / end_date, while others (such as ai_search_response) use time_period_start / time_period_end. The alignment rules above apply either way — check the endpoint reference for the exact field names.

Reading results (schema-driven rows)

Completed responses return data as positional tuple rows plus a schema array that lists each column’s name and type in order. The available columns — and therefore the metrics you get back (such as mentions, citations, sentiment score, or share of voice) — are defined by the schema in each response, not by a static list in the docs. To see the exact metrics your query returned, read the column names from schema and pair them with the values in each row.

Walkthrough

These examples authenticate with a Conductor API token. Still using the legacy API key + signature method? See Authentication for the equivalent request format.
1

Submit the initial query

Include all required query parameters specific to the endpoint.
Save the executionId from this response for the next step.
2

Poll for results

Use the executionId you received. Drop the main query parameters and only send the ID.
  • Still running? Expect a 202 response with executionState: "IN_PROGRESS".
  • Finished? Expect a 200 response with executionState: "COMPLETED" and your data payload.
3

Fetch the next page

If your 200 OK response included a nextPageId, include it alongside your executionId to pull the next chunk of data.
Need help? Reach out to the Data Platform Team: [email protected]