Submit a scrape job
curl -X POST 'https://dashboard.justcrawl.io/api/v1/jobs' \ -H 'Authorization: Bearer $JUSTCRAWL_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"urlItemId":"550e8400-e29b-41d4-a716-446655440000"}'import os, requestsr = requests.post( 'https://dashboard.justcrawl.io/api/v1/jobs', headers={'Authorization': f'Bearer {os.environ["JUSTCRAWL_API_KEY"]}'}, json={'urlItemId': '550e8400-e29b-41d4-a716-446655440000'},)r.raise_for_status()print(r.json()['jobId'])const res = await fetch('https://dashboard.justcrawl.io/api/v1/jobs', { method: 'POST', headers: { Authorization: `Bearer ${process.env.JUSTCRAWL_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ urlItemId: '550e8400-e29b-41d4-a716-446655440000' }),});if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);const { jobId } = await res.json();Queue a job for an existing URL item against a workflow. If workflowId is omitted the
gateway resolves the workflow via the URL’s domain route. Returns 201 immediately
with the new jobId and status: pending; poll GET /api/v1/jobs/{jobId} (or use the
batch endpoint) for completion. Quota gate applies: 402 Insufficient credits when the
org’s quota is exhausted, with remainingCredits echoed back in the body.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”object
ID of the URL item to scrape. Create one via POST /api/v1/urls.
Optional. When omitted, resolves from the URL’s domain route.
Examples
Submit a URL-item job
{ "urlItemId": "550e8400-e29b-41d4-a716-446655440000", "workflowId": "a47ac10b-58cc-4372-a567-0e02b2c3d479"}Responses
Section titled “ Responses ”Job created successfully
object
Always pending on creation. Poll GET /api/v1/jobs/{jobId} for the real-time status.
Present only when workflowId was omitted and the gateway resolved it via the URL’s domain route.
object
Examples
Job accepted
{ "jobId": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "status": "pending", "url": "https://www.walmart.com/ip/12345"}Validation failed — request body or query is missing/invalid
object
Example
{ "error": "Missing or invalid \"url\" field"}Missing or invalid authentication token
object
Example
{ "error": "Missing or invalid authentication token"}Insufficient credits
object
Example
{ "error": "QUOTA_EXCEEDED", "message": "Credits exhausted. Recharge to continue.", "plan": "free", "remainingCredits": 0, "isTrialExpired": false}Insufficient permissions for this operation
object
Example
{ "error": "No organization. Complete onboarding first."}Resource not found
object
Example
{ "error": "Workflow not found"}Unexpected server error. Logs and PostHog $exception capture
object
Example
{ "error": "Something went wrong"}