Scrapingforge logo

API Endpoints

Complete reference for ScrapingForge API endpoints - synchronous and asynchronous scraping.

ScrapingForge provides two types of endpoints: synchronous for immediate results and asynchronous for background processing.

Synchronous Scraping

Immediate blocking response with 90-120 second timeout.

POST/GET https://api.scrapingforge.com/api/v1/scraper

Request Methods

  • POST: Send parameters in JSON body (recommended for complex requests)
  • GET: Send parameters as query strings (simple requests only)

Example Request

curl -X POST https://api.scrapingforge.com/api/v1/scraper \
  -H "Authorization: Bearer sf_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "render_js": true,
    "premium_proxy": true
  }'

Response

<!DOCTYPE html>
<html>
  <head>
    <title>Example Domain</title>
  </head>
  <body>
    ...
  </body>
</html>

Asynchronous Scraping

Submit jobs for background processing. Results retained for 30 days.

Submit Job

POST https://api.scrapingforge.com/api/v1/scraper/jobs
curl -X POST https://api.scrapingforge.com/api/v1/scraper/jobs \
  -H "Authorization: Bearer sf_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "render_js": true
  }'

Response:

{
  "job_id": "abc123",
  "status": "pending"
}

Check Job Status

GET https://api.scrapingforge.com/api/v1/scraper/jobs/{job_id}
curl https://api.scrapingforge.com/api/v1/scraper/jobs/abc123 \
  -H "Authorization: Bearer sf_your_api_key"

Response:

{
  "job_id": "abc123",
  "status": "completed",
  "created_at": "2024-01-01T12:00:00Z",
  "completed_at": "2024-01-01T12:00:15Z"
}

Job Statuses

StatusDescription
pendingJob queued for processing
runningJob currently being processed
completedJob finished successfully
failedJob failed (check error message)

Get Job Result

GET https://api.scrapingforge.com/api/v1/scraper/jobs/{job_id}/result
curl https://api.scrapingforge.com/api/v1/scraper/jobs/abc123/result \
  -H "Authorization: Bearer sf_your_api_key"

Workflow Example

# 1. Submit job
JOB_ID=$(curl -X POST https://api.scrapingforge.com/api/v1/scraper/jobs \
  -H "Authorization: Bearer sf_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com", "render_js": true}' \
  | jq -r '.job_id')

# 2. Wait and check status
while true; do
  STATUS=$(curl https://api.scrapingforge.com/api/v1/scraper/jobs/$JOB_ID \
    -H "Authorization: Bearer sf_your_api_key" \
    | jq -r '.status')

  if [ "$STATUS" = "completed" ]; then
    break
  fi
  sleep 5
done

# 3. Get result
curl https://api.scrapingforge.com/api/v1/scraper/jobs/$JOB_ID/result \
  -H "Authorization: Bearer sf_your_api_key"