DataForSEO
SEO, search-engine results, keyword research, backlinks and AI visibility data.
Setting Google Organic SERP Tasks
Queues the ranked results for a keyword on Google, returning a task id in tasks[0].id. Wrapped in DataForSEO's envelope: data in tasks[0].result, outcome in tasks[0].status_code - a rejected request still returns HTTP 200. The live twin answers immediately and is simpler for a single query; queue when the batch would outlast a tool call.
- Type: array object[]
- keywordType: stringrequired
Keyword to search for
- calculateType: boolean
_rectangles Calculate pixel rankings for SERP elements in advanced results
- depthType: integer
Parsing depth, default 100, max 700
- deviceType: string
Device type: desktop or mobile
- groupType: boolean
_organic _results Display related results as grouped organic results
- languageType: string
_code Search engine language code
- languageType: string
_name Full name of search engine language
- locationType: integer
_code Search engine location code
- locationType: string
_coordinate GPS coordinates of a location
- locationType: string
_name Full name of search engine location
- maxType: integer
_crawl _pages Page crawl limit, max 100
- osType: string
Device operating system
- pingbackType: string
_url Pingback URL for task completion notification
- postbackType: string
_data Postback payload type
- postbackType: string
_url Postback URL for completed task results
- tagType: string
User-defined task identifier
- Type: object200
Successful response
- Type: numbercost
Total tasks cost in USD
- Type: integerstatus
_code General status code
- Type: stringstatus
_message General informational message
- Type: stringtasks
Array of task objects
- Type: integertasks
_count Number of tasks in the request
- Type: integertasks
_error Number of tasks returned with an error
- Type: numbertasks[]
.cost Task cost
- Type: stringtasks[]
.id Task identifier in UUID format
- Type: integertasks[]
.result _count Number of result elements
- Type: integertasks[]
.status _code Task status code
- Type: stringtasks[]
.status _message Task status message
- Type: stringtime
Execution time
- Type: stringversion
API version
application/json - 400
Bad request
- 401
Unauthorized
- 402
The request cannot proceed because a billing requirement is not met.
- 403
The account is not permitted to perform this operation.
- 429
Rate limit exceeded
- 500
Internal server error
- 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
The operation failed. Keep the response request ID when contacting Felo support.
curl https://openapi.felo.ai/v1/beta/dataforseo/serp/google/organic/task_post \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '[
{
"keyword": "",
"location_name": "",
"location_code": 1,
"location_coordinate": "",
"language_name": "",
"language_code": "",
"depth": 1,
"max_crawl_pages": 1,
"device": "",
"os": "",
"group_organic_results": true,
"calculate_rectangles": true,
"postback_url": "",
"pingback_url": "",
"postback_data": "",
"tag": ""
}
]'
{
"version": "string",
"status_code": 1,
"status_message": "string",
"time": "string",
"cost": 1,
"tasks_count": 1,
"tasks_error": 1,
"tasks": "string",
"tasks[].id": "string",
"tasks[].status_code": 1,
"tasks[].status_message": "string",
"tasks[].cost": 1,
"tasks[].result_count": 1
}