Skip to main content
GET
/
scrape
/
{jobId}
Get Scrape Job Status
curl --request GET \
  --url https://api.spidra.io/api/scrape/{jobId} \
  --header 'x-api-key: <api-key>'
{
"status": "active",
"progress": {
"message": "Processing content with AI...",
"progress": 0.6
},
"result": null,
"error": null
}

Polling Pattern

Poll every 2-5 seconds until status is completed or failed:
async function waitForResult(jobId) {
  while (true) {
    const res = await fetch(`https://api.spidra.io/api/scrape/${jobId}`, {
      headers: { 'x-api-key': 'YOUR_API_KEY' }
    });
    const data = await res.json();
    
    if (data.status === 'completed') return data.result;
    if (data.status === 'failed') throw new Error(data.error);
    
    await new Promise(r => setTimeout(r, 3000));
  }
}

Status Values

StatusMeaning
waitingIn queue
activeRunning now
completedDone - results ready
failedFailed - check error

Authorizations

x-api-key
string
header
required

Path Parameters

jobId
string
required

The job ID returned from POST /scrape

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

Present only when status is 'completed'

error
string | null

Error message if status is 'failed'