SerpJob reference
SERP Tasks
The SerpJob object, field by field.
Reference for the task object returned by the create endpoints and by GET /v1/serp/tasks/{task_id}: every field, its type, and which timestamp is filled at which step.
{"job":{"id":"<task_id>","kind":"google_images","status":"failed",
"request":{"q":"…","country":"US","hl":"en","device":"desktop"},
"result":null,"error":{"code":"<code>","message":"<message>","retryable":false},
"attempt_count":3,"max_attempts":3,"created_at":"<date-time>","finished_at":"<date-time>"}}SerpJob field table
id
Type: string
Notes: The task_id you poll.
kind
Type: enum
Notes: google_organic, google_news or google_images.
status
Type: enum
Notes: queued, running, completed or failed.
request
Type: SerpJobRequest
Notes: {q, country, hl, device} as accepted.
result
Type: object, nullable
Notes: The sync-shaped response once completed; null before.
error
Type: SerpJobError, nullable
Notes: {code, message, retryable (default false)}.
attempt_count
Type: integer
Notes: Default 0.
max_attempts
Type: integer
Notes: Default 3.
created_at, updated_at
Type: date-time
Notes: Set on create; updated_at moves with each change.
started_at, finished_at
Type: date-time, nullable
Notes: Set when running starts and when a final status is reached.
Status transitions
created → queued
Timestamps filled: created_at, updated_at
queued → running
Timestamps filled: started_at, updated_at
running → completed
Timestamps filled: finished_at, updated_at; result set
running → failed
Timestamps filled: finished_at, updated_at; error set
404 and 503 on poll
- 404 not_found: the task does not exist or does not belong to your Team.
- 503 service_unavailable: the endpoint is not enabled right now; nothing is billed.
Launch status for this page
Check engine availability before choosing an endpoint. Google also supports News, Images and asynchronous tasks.
- GoogleGoogle is callable today with a Bearer API key.
SERP searches are charged per successful search at a display rate of 2 Credits per search; failed searches are not charged. Polling task status is free. The current rate is on Pricing.
What this is not
- error.code values are not enumerated.
- No webhook.
- Google only.
Frequently asked questions
What does 404 on poll mean?
not_found: the task does not exist or does not belong to your Team.
Can result be null?
Yes. It is null until the task completes.
Is retryable always set?
It defaults to false.
Max attempts?
max_attempts defaults to 3.
Build against SerpJob
Get an API key and poll your first task.