/api/skill-api/v1/skills/seo-ad-audience-estimate/runRun this API
Send a JSON request to execute this API and receive the documented response payload.
Endpoint
| Method | POST |
| Path | /api/skill-api/v1/skills/seo-ad-audience-estimate/run |
| Auth | Bearer API key |
| Content-Type | application/json |
Request body
| Name | Type | Required | Description |
|---|---|---|---|
ageBands | array | required | Age bands value used by this API operation. Minimum items: 1 Maximum items: 5 |
ageBands[] | string | required | Item in ageBands. Allowed: A18_24, A25_34, A35_49, A50_64, A65_PLUS |
bidUsd | number | required | Bid usd value used by this API operation. Minimum: 0.01 Maximum: 100 |
dailyBudgetUsd | number | required | Daily budget usd value used by this API operation. Minimum: 1 Maximum: 1000 |
gender | string | required | Gender value used by this API operation. Allowed: MALE, FEMALE, UNKNOWN |
Request example
{
"ageBands": [
"A18_24"
],
"bidUsd": 0.01,
"dailyBudgetUsd": 1,
"gender": "MALE"
}Response body
| Name | Type | Required | Description |
|---|---|---|---|
code | integer | required | 0 is a successful envelope; inspect data.status separately. Allowed: 0, 42008, 42009 |
cost | string | required | Elapsed processing milliseconds; not price. -1 for non-web context. |
data | object | required | Data value used by this API operation. |
data.callId | string | null | optional | Call id value used by this API operation. |
data.completedAt | integer | null | optional | Completed at value used by this API operation. |
data.coverage | object | optional | Coverage value used by this API operation. |
data.coverage.missing | array | optional | Missing value used by this API operation. |
data.coverage.missing[] | object | required | Item in data coverage missing. |
data.coverage.missing[].field | string | optional | Field value used by this API operation. |
data.coverage.missing[].reason | string | optional | Reason value used by this API operation. |
data.coverage.status | string | optional | Status value used by this API operation. |
data.requestedAt | integer | null | optional | Requested at value used by this API operation. |
data.result | object | null | required | Result value used by this API operation. |
data.result.ageBands | array | required | Age bands value used by this API operation. Minimum items: 1 Maximum items: 5 |
data.result.ageBands[] | string | required | Item in data result ageBands. Allowed: A18_24, A25_34, A35_49, A50_64, A65_PLUS |
data.result.audienceSize | object | null | required | Audience size value used by this API operation. |
data.result.audienceSize.high | integer | null | required | High value used by this API operation. Minimum: 0 |
data.result.audienceSize.low | integer | null | required | Low value used by this API operation. Minimum: 0 |
data.result.bidUsd | number | required | Bid usd value used by this API operation. Minimum: 0.01 Maximum: 100 |
data.result.clicks | object | null | required | Clicks value used by this API operation. |
data.result.clicks.high | integer | null | required | High value used by this API operation. Minimum: 0 |
data.result.clicks.low | integer | null | required | Low value used by this API operation. Minimum: 0 |
data.result.costPerEvent | object | null | required | Cost per event value used by this API operation. |
data.result.costPerEvent.high | number | null | required | High value used by this API operation. Minimum: 0 |
data.result.costPerEvent.low | number | null | required | Low value used by this API operation. Minimum: 0 |
data.result.currency | string | null | required | Currency value used by this API operation. Allowed: USD, null |
data.result.dailyBudgetUsd | number | required | Daily budget usd value used by this API operation. Minimum: 1 Maximum: 1000 |
data.result.gender | string | required | Gender value used by this API operation. Allowed: MALE, FEMALE, UNKNOWN |
data.result.impressions | object | null | required | Impressions value used by this API operation. |
data.result.impressions.high | integer | null | required | High value used by this API operation. Minimum: 0 |
data.result.impressions.low | integer | null | required | Low value used by this API operation. Minimum: 0 |
data.result.meta | object | required | Meta value used by this API operation. |
data.result.meta.market | object | required | Market value used by this API operation. |
data.result.meta.market.country | string | required | Country value used by this API operation. Constant: US |
data.result.meta.market.language | string | null | required | Language value used by this API operation. Allowed: en, null |
data.result.meta.market.locationCode | integer | required | Location code value used by this API operation. Constant: 2840 |
data.result.meta.missing | array | required | Missing value used by this API operation. Minimum items: 0 Maximum items: 100 |
data.result.meta.missing[] | object | required | Item in data result meta missing. |
data.result.meta.missing[].path | string | required | Path value used by this API operation. |
data.result.meta.missing[].reason | string | required | Reason value used by this API operation. Allowed: MISSING, NULL, INVALID, UNSUPPORTED, TRUNCATED |
data.result.meta.missingOverflow | boolean | required | Missing overflow value used by this API operation. |
data.result.meta.retrievedAt | integer | required | Retrieved at value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.meta.sampledAt | integer | null | required | Sampled at value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.meta.source | string | required | Source value used by this API operation. Constant: DATAFORSEO_BING_AUDIENCE_ESTIMATE |
data.result.meta.truncated | boolean | required | Truncated value used by this API operation. |
data.result.period | string | required | Period value used by this API operation. Constant: MONTHLY |
data.result.spend | object | null | required | Spend value used by this API operation. |
data.result.spend.high | number | null | required | High value used by this API operation. Minimum: 0 |
data.result.spend.low | number | null | required | Low value used by this API operation. Minimum: 0 |
data.result.suggestedBid | number | null | required | Suggested bid value used by this API operation. Minimum: 0 |
data.result.suggestedDailyBudget | number | null | required | Suggested daily budget value used by this API operation. Minimum: 0 |
data.schemaVersion | string | null | optional | Schema version value used by this API operation. |
data.source | string | null | optional | Source value used by this API operation. |
data.status | string | optional | Status value used by this API operation. Allowed: SUCCESS, PARTIAL, EMPTY, PROCESSING, UNKNOWN, FAILED |
data.usage | object | optional | Usage value used by this API operation. |
data.usage.billingStatus | string | optional | Billing status value used by this API operation. |
data.usage.chargedCredits | integer | null | optional | Charged credits value used by this API operation. |
data.usage.providerCostStatus | string | optional | Provider cost status value used by this API operation. |
data.usage.providerCostUsd | string | null | optional | Provider cost usd value used by this API operation. |
data.usage.providerRequests | integer | optional | Provider requests value used by this API operation. |
msg | string | null | required | Msg value used by this API operation. |
time | string | required | yyyy-MM-dd HH:mm:ss |
traceId | string | null | required | Trace id value used by this API operation. |
ts | string | required | Epoch milliseconds; global long serializer. |
Response example
Example response envelope from the documented SEO API contract.
{
"code": 0,
"cost": "-1",
"data": {
"callId": "synthetic-call",
"completedAt": null,
"coverage": {
"missing": [
{
"field": "synthetic",
"reason": "UPSTREAM_FIELD_MISSING"
}
],
"status": "PARTIAL"
},
"requestedAt": 123,
"result": {
"ageBands": [
"synthetic"
],
"audienceSize": {
"high": 9007199254740992,
"low": 9007199254740992
},
"bidUsd": 1.25,
"clicks": {
"high": 9007199254740992,
"low": 9007199254740992
},
"costPerEvent": {
"high": 1.25,
"low": 1.25
},
"currency": "synthetic",
"dailyBudgetUsd": 1.25,
"gender": "synthetic",
"impressions": {
"high": 9007199254740992,
"low": 9007199254740992
},
"meta": {
"market": {
"country": "synthetic",
"language": "synthetic",
"locationCode": 1
},
"missing": [
{
"path": "synthetic",
"reason": "synthetic"
}
],
"missingOverflow": false,
"retrievedAt": 9007199254740992,
"sampledAt": 9007199254740992,
"source": "synthetic",
"truncated": false
},
"period": "synthetic",
"spend": {
"high": 1.25,
"low": 1.25
},
"suggestedBid": 1.25,
"suggestedDailyBudget": 1.25
},
"schemaVersion": "synthetic",
"source": "synthetic",
"status": "PARTIAL",
"usage": {
"billingStatus": "UNAPPROVED",
"chargedCredits": 0,
"providerCostStatus": "UNAPPROVED",
"providerCostUsd": null,
"providerRequests": 0
}
},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "9007199254740993"
}Responses
| Code | Description |
|---|---|
| 200 | API executed successfully. Body is the direct response payload. |
| 400 | Request JSON or required API parameters are invalid. |
| 401 | API key is missing, invalid, or cannot be matched to a user. |
| 5xx | API execution or upstream service failed. |
Data source, freshness, and limitations
Source, freshness, coverage, rate limits, and estimation notes are not specified in this API definition unless they appear in the request or response field documentation above. Do not assume official marketplace data or real-time freshness when it is not explicitly documented.