When you will work with runs
You should expect run lifecycle handling for:- extraction requests
- crawl requests
- deep crawl requests
- generic run creation through
POST /api/v1/runs
POST /api/v1/search returns results directly in the response.
Run object basics
A run response includes fields that help you monitor progress and operational state. Important fields:id: the run identifier used for later requestsstatus: current lifecycle statetype:crawl,deep_crawl, orextracturls: URLs associated with the runqueued,in_progress,done,failed: counters for work distributioncreated_at,started_at,completed_at,updated_at: timing fieldslast_error,error_code,error_count: failure context
Status values
The current API exposes these run statuses:pending: the run has been accepted but work has not started yetprocessing: the run is actively being worked oncompleted: the run finished successfully enough for results to be retrievedfailed: the run ended in failurecancelled: the run was cancelled before completion
Typical lifecycle
- Create a run with
POST /api/v1/extract,POST /api/v1/crawl, orPOST /api/v1/deep-crawl. - Store the returned
id. - Poll
GET /api/v1/runs/{runId}until the run reaches a terminal state. - If the status is
completed, callGET /api/v1/runs/{runId}/results. - If needed, retrieve content or screenshots from individual results.
- If the run fails, inspect error fields and decide whether to retry.
Check run status
List results
results array.
Important result fields include:
id: result identifierurl: the source URLfinal_url: the final destination after redirects, if anytitle: discovered page titlestatus_code: HTTP status of the fetched pagemarkdown_url,clean_html_url,raw_html_url: links to generated result content when availablescreenshot: screenshot indicator or reference data when capturederror_message: failure context for an individual resultextraction_data: structured extraction output when relevant
Retrieve result content
Bulkgrid currently exposes result content and screenshot retrieval endpoints.Screenshot retrieval
Content retrieval
UseGET /api/v1/runs/{runId}/results/{resultId}/content to fetch result content. The exact returned format should be documented alongside the API reference once the response contract is finalized more explicitly.
Polling guidance
A practical default strategy:- poll every 2 to 5 seconds for active runs
- increase the interval for large crawl jobs
- stop polling once the run is
completed,failed, orcancelled - enforce a client-side timeout so requests do not wait forever
Retry and cancellation
Bulkgrid also exposes:POST /api/v1/runs/{runId}/retryPOST /api/v1/runs/{runId}/cancel
Next steps
- Read Check Status
- Read Fetch Results
- Read Retry and Cancel Runs