Skip to main content
POST
/
data-api
/
v1
/
async
/
keyword_search_config
curl --request POST \
  --url 'https://api-universal.conductor.com/data-api/v1/async/keyword_search_config?apiKey=&sig=' \
  --header 'Content-Type: application/json' \
  --header 'X-API-GATEWAY-KEY: <api-key>' \
  --data '
{
  "config_type": "keywords",
  "account_id": 101,
  "web_property_id": 456,
  "keyword_status": "ACTIVE",
  "keyword_group_id": "995895",
  "limit": 100
}
'
{
  "results": [
    [
      "456",
      "best seo practices 2025",
      "ACTIVE",
      "[Brand, Non-Brand]",
      "2025-01-01",
      "US",
      "GOOGLE_EN_US",
      "Desktop"
    ]
  ],
  "schema": [
    {
      "name": "web_property_id",
      "type": "string"
    },
    {
      "name": "keyword",
      "type": "string"
    },
    {
      "name": "status",
      "type": "string"
    },
    {
      "name": "keyword_groups",
      "type": "string"
    },
    {
      "name": "tracking_start_date",
      "type": "date"
    },
    {
      "name": "locale",
      "type": "string"
    },
    {
      "name": "kw_search_engine",
      "type": "string"
    },
    {
      "name": "device",
      "type": "string"
    }
  ],
  "executionState": "COMPLETED",
  "executionId": "enga:abc12345-1111-2222-3333-444444444444",
  "requestId": "req-123",
  "nextPageId": "87QUIJAKFQ9UIRJklafkg8wyuijFIAOqwfL9UIQOr==",
  "totalRowCount": 1000
}

Documentation Index

Fetch the complete documentation index at: https://conductor.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

apiKey
string
query
required

API Key as a query parameter

sig
string
query
required

Request signature computed using API key and secret. Valid for 5 minutes after creation.

X-API-GATEWAY-KEY
string
header
required

API Key as an HTTP header (must match apiKey query parameter)

Body

application/json

Submit a new keyword config query. Returns an executionId to track the query.

config_type
enum<string>
required

Type of keyword configuration data to return:

  • keywords: All tracked keywords with status, groups, locale, search engine, and device.
  • keyword_groups: Keyword groups defined for the account.
  • search_engines: Distinct search engines used by tracked keywords.
  • devices: Distinct devices used by tracked keywords.
  • locales: Distinct locales used by tracked keywords.
Available options:
keywords,
keyword_groups,
search_engines,
devices,
locales
Example:

"keywords"

account_id
integer
required

Required account ID to filter results.

Required range: x >= 1
Example:

101

web_property_id
integer

(Optional, keywords only) Filter results to a specific web property.

Example:

456

keyword_group_id
string

(Optional, keywords only) Filter results to keywords in a specific keyword group.

Example:

"995895"

keyword_status
string
default:ACTIVE

(Optional, keywords only) Comma-separated keyword statuses to include. Accepted values: ACTIVE, INACTIVE. An empty string disables the filter. Default is ACTIVE.

Example:

"ACTIVE"

limit
integer
default:100

Maximum number of rows to return for the submitted query.

Required range: x >= 1
Example:

100

Response

Query completed successfully (returned when polling with queryExecutionId). The response schema and results tuple structure vary by config_type — see Config Types above. The default schema example below shows the keywords config_type response. Named 200 response examples are also provided for each supported config_type.

results
string[][]

List of query results. Each item is a positional tuple row. Available only when executionState is COMPLETED. Column order depends on config_type — use the schema field to interpret positions.

Positional tuple row. Column order depends on config_type:

keywords (8 columns): web_property_id, keyword, status, keyword_groups, tracking_start_date, locale, kw_search_engine, device

keyword_groups (2 columns): keyword_group_id, keyword_group_name

search_engines (1 column): name

devices (1 column): name

locales (1 column): locode

Use the schema field in the response to interpret column positions.

executionState
enum<string>

Current execution state of the query:

  • IN_PROGRESS: The query is still running. Poll again later.
  • COMPLETED: The query finished successfully. Results are available.
  • FAILED: The query failed. Check the error message if available.
Available options:
IN_PROGRESS,
COMPLETED,
FAILED
executionId
string

Unique identifier for the query execution. Valid for 7 days. Use this for polling and pagination.

requestId
string

Unique identifier for the HTTP request, useful for support and debugging.

nextPageId
string

Token for retrieving the next page of results. Available as long as the executionId is valid (7 days). If null, there are no more pages available.

totalRowCount
integer<int64>

Total number of rows across all pages (if available).

schema
object[]

Column metadata providing the name and type for each position in the results tuple.