DataForSEO
SEO, search-engine results, keyword research, backlinks and AI visibility data.
Setting ‘Ad Traffic By Keywords’ Tasks
Queues a forecast of clicks, impressions and spend for keywords at a given bid and match type, returning a task id. search_partners includes Google's partner network. Wrapped in DataForSEO's envelope: data in tasks[0].result, outcome in tasks[0].status_code - a rejected request still returns HTTP 200. This is the only Google Ads endpoint here with no live variant - forecasting always queues. Retrieve with get_dataforseo_keywords_gads_ad_traffic_fetch.
Pricing reference
- Metering: Reported response cost.
- Reference request estimate: USD 0.09.
- Reference customer multiplier: 1.0. Do not apply it again to a settled customer amount.
Reference metadata only, not an account quote, a guaranteed price or a spending cap. Resource credits are not Felo credits. Final charges follow Felo billing records.
- Type: array (object | null)[]
- bidType: number
the maximum custom bid
required field
the collected data will be based on this value
it stands for the price you are willing to pay for an ad; the higher value you specify here, the higher values you will get in the returned metrics
learn more in this help center article - dateType: string
_from starting date of the forecasting time range
required field if you specifydate_to
if you indicatedate_fromanddate_to, you don't need to specifydate_interval
minimum value is tomorrow's date
the value you specify indate_fromshouldn't be further thandate_to
date format:"yyyy-mm-dd"
example:"2021-10-30"if Status endpoint returnsfalsein theactual_datafield,date_fromcan be set to the month before last and prior;
if Status endpoint returnstruein theactual_datafield,date_fromcan be set to the last month and prior - dateType: string | null
_interval forecasting date interval
optional field
if you specifydate_interval, you don't need to indicatedate_fromanddate_to
possible values:next_week,next_month,next_quarter
default value:next_month - dateType: string
_to ending date of the forecasting time range
required field if you specifydate_from
if you indicatedate_fromanddate_to, you don't need to specifydate_interval
minimum value isdate_from+1 day
maximum value is current day and month of the next year
date format:"yyyy-mm-dd"
example:"2022-10-30" - keywordsType: array string[]
keywords
required field
The maximum number of keywords you can specify: 1000
The maximum number of characters for each keyword: 80
The maximum number of words for each keyword phrase: 10
the keywords you specify will be converted to a lowercase format
Note #1: Google Ads may return no data for certain groups of keywords;
Note #2: Google Ads provides combined search volume values for groups of similar keywords
to obtain search volume for similar keywords, we recommend submitting such keywords in separate requests;
Note #3: Google Ads doesn't allow using certain symbols and characters (e.g., UTF symbols, emojis), so you can't use them when setting a task;
to learn more about which symbols and characters can be used, please refer to this articlelearn more about rules and limitations of
keywordandkeywordsfields in DataForSEO APIs in this Help Center article - languageType: string | null
_code search engine language code
optional field
you can receive the list of available languages of the search engine with theirlanguage_codeby making a separate request tohttps://api.dataforseo.com/v3/keywords_data/google_ads/languages
example:en - languageType: string | null
_name full name of search engine language
optional field
you can receive the list of available languages of the search engine with theirlanguage_nameby making a separate request tohttps://api.dataforseo.com/v3/keywords_data/google_ads/languages
example:English - locationType: integer | null
_code search engine location code
optional field
if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;
if you use this field, you don't need to specifylocation_nameorlocation_coordinate;
you can receive the list of available locations of the search engines with theirlocation_codeby making a separate request tohttps://api.dataforseo.com/v3/keywords_data/google_ads/locations
example:2840 - locationType: string | null
_coordinate GPS coordinates of a location
optional field
if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;
if you use this field, you don't need to specifylocation_nameorlocation_code;location_coordinateparameter should be specified in the "latitude,longitude" format;
the data will be provided for the country the specified coordinates belong to;
example:52.6178549,-155.352142 - locationType: string | null
_name full name of search engine location
optional field
if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;
if you use this field, you don't need to specifylocation_codeorlocation_coordinate
you can receive the list of available locations of the search engine with theirlocation_nameby making a separate request tohttps://api.dataforseo.com/v3/keywords_data/google_ads/locations
example:London,England,United Kingdom - matchType: string
keywords match-type
required field
can take the following values:exact,broad,phrase - pingbackType: string | null
_url notification URL of a completed task
optional field
when a task is completed we will notify you by GET request sent to the URL you have specified
you can use the ‘$id’ string as a$idvariable and ‘$tag’ as urlencoded$tagvariable. We will set the necessary values before sending the request.
example:http://your-server.com/pingscript?id=$idhttp://your-server.com/pingscript?id=$id&tag=$tag
Note: special characters inpingback_urlwill be urlencoded;
i.a., the#character will be encoded into%23 - postbackType: string | null
_url URL for sending task results
optional field
once the task is completed, we will send a POST request with its results compressed in thegzipformat to thepostback_urlyou specified
you can use the ‘$id’ string as a$idvariable and ‘$tag’ as urlencoded$tagvariable. We will set the necessary values before sending the request.
example:http://your-server.com/postbackscript?id=$idhttp://your-server.com/postbackscript?id=$id&tag=$tag
Note: special characters inpostback_urlwill be urlencoded;
i.a., the#character will be encoded into%23 - sortType: string | null
_by results sorting parameters
optional field
Use these parameters to sort the results byrelevance,average_cpc,cost, orclicksin the descending order
default value:relevance - tagType: string | null
user-defined task identifier
optional field
the character limit is 255
you can use this parameter to identify the task and match it with the result
you will find the specifiedtagvalue in thedataobject of the response
- Type: object | null · Response36Afe1097B20_KeywordsDataGoogleAdsAdTrafficByKeywordsTaskPostResponseInfo200
- Type: number | null Format: doublecost
total tasks cost, USD
- Type: integer | nullstatus
_code general status code you can find the full list of the response codes here
- Type: string | nullstatus
_message general informational message you can find the full list of general informational messages here
- Type: array (object | null)[] | nulltasks
array of tasks
- Type: object | null · Response36Afe1097B20_KeywordsDataGoogleAdsAdTrafficByKeywordsTaskPostTaskInfo
- costType: number | null Format: double
total tasks cost, USD
- dataType: object | null
contains the same parameters that you specified in the POST request
- propertyType: object | null
Name
- idType: string | null
task identifier unique task identifier in our system in the UUID format
- pathType: array (string | null)[] | null
URL path
- resultType: object | null
array of results
in this case, the value will benull - resultType: integer | null Format: int64
_count number of elements in the result array
- statusType: integer | null
_code status code of the task generated by DataForSEO, can be within the following range: 10000-60000 you can find the full list of the response codes here
- statusType: string | null
_message informational message of the task you can find the full list of general informational messages here
- timeType: string | null
execution time, seconds
- Type: integer | null Format: int64tasks
_count the number of tasks in the tasks array
- Type: integer | null Format: int64tasks
_error the number of tasks in the tasks array returned with an error
- Type: string | nulltime
total execution time, seconds
- Type: string | nullversion
the current version of the API
application/json - 400
The request could not be processed. Check the request parameters.
- 401
A valid Felo API key is required.
- 402
The request cannot proceed because a billing requirement is not met.
- 403
The account is not permitted to perform this operation.
- 429
A request or spending limit has been reached.
- 502
The service could not complete the request.
- 503
The API or billing service is temporarily unavailable.
- 504
The service timed out while processing the request.
- default
Error response; upstream passthrough responses may use provider formats
application/json
curl https://openapi.felo.ai/v1/beta/dataforseo/keywords_data/google_ads/ad_traffic_by_keywords/task_post \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '[
{
"language_code": "en",
"location_code": 2840,
"bid": 999,
"match": "exact",
"keywords": [
"seo marketing"
]
}
]'
{
"version": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"tasks_count": null,
"tasks_error": null,
"tasks": [
{
"id": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"result_count": null,
"path": [
null
],
"data": null,
"result": null
}
]
}