Skip to main content
GET
Get Search Job Status

Polling Pattern

Every search job goes through the same async pattern as scrape and crawl: submit, then poll this endpoint until status is completed or failed. Plain search jobs usually resolve in 1-8 seconds (occasional automatic retries take a bit longer), so in practice a couple of polls is normal. If you’d rather skip polling entirely for a fast search, see wait on the submit endpoint. A search with scrapeOptions set takes noticeably longer. It doesn’t report completed until every result has actually been scraped, so expect however long the slowest page takes, not the usual few seconds.

Response Structure

result.data

One key per requested source (web, news, images, videos, research, developer), each an array of result objects, plus nextPageTokens when a source has more pages available. Fields vary slightly by source:

result.stats

result.success: false with an empty data object means Spidra could not retrieve results for every requested source after retrying. This is rare, but it’s a normal “no results” outcome, not treated as a hard error, and isn’t billed.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

jobId
string
required

The job ID returned from POST /search

Response

Job status and results

status
enum<string>

Current status of the scrape job

Available options:
waiting,
active,
completed,
failed,
delayed
progress
object
result
object | null

Present only when status is 'completed'

error
string | null