POST
/
scrape
/
Create Scraping Job
curl --request POST \
  --url https://api.skop.dev/scrape/ \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "website": "https://example.com",
  "prompt": "Find board meeting minutes from 2025",
  "parameters": {
    "single_page": false,
    "timeout": 1800,
    "confidence_threshold": 0.1,
    "file_type": "document",
    "max_file_size_mb": 100
  }
}'
{
  "job_id": "job_4fc79a89797e",
  "status": "pending",
  "message": "Job created successfully and queued for processing",
  "estimated_completion": "2023-11-07T05:31:56Z",
  "created_at": "2023-11-07T05:31:56Z"
}
Creates a new document scraping job that runs asynchronously in the background.

Request Body

{
  "website": "https://example.com",
  "prompt": "Find all board meeting minutes from 2025",
  "parameters": {
    "single_page": false,
    "timeout": 1800,
    "confidence_threshold": 0.7,
    "file_type": "document",
    "max_file_size_mb": 100
  }
}

Required Fields

FieldTypeDescription
websitestringStarting URL to scrape (must be valid HTTP/HTTPS URL)
promptstringDescription of documents to find (10-500 characters)

Parameters Object

FieldTypeDefaultDescription
single_pagebooleantrueOnly scrape the provided URL (no navigation)
timeoutinteger1800Max time in seconds (60-3600)
confidence_thresholdfloat0.1Min AI confidence score (0.0-1.0)
file_typestring"document"Type of files to extract
max_file_size_mbinteger100Max file size in MB (1-500)

Example Request

const response = await fetch('https://api.skop.dev/scrape/', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer sk-your-api-key',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    website: 'https://example.com',
    prompt: 'Find meeting minutes for 2025',
    parameters: {
      single_page: true,
      timeout: 1800,
      confidence_threshold: 0.7,
      file_type: 'document',
      max_file_size_mb: 100
    }
  })
})

const job = await response.json()

Response (201 Created)

{
  "job_id": "job_4fc79a89797e",
  "status": "pending",
  "message": "Job created successfully and queued for processing",
  "estimated_completion": "2025-07-24T21:00:00Z",
  "created_at": "2025-07-24T20:50:00Z"
}

Response Fields

FieldTypeDescription
job_idstringUnique identifier for the created job
statusstringInitial job status (always pending)
messagestringSuccess message
estimated_completionstringISO 8601 estimated completion time
created_atstringISO 8601 job creation timestamp

Error Responses

StatusError CodeDescription
400validation_errorInvalid request parameters
402insufficient_creditsNot enough credits
429concurrency_limit_exceededToo many concurrent jobs
503service_unavailableRequired services not configured

Authorizations

Authorization
string
header
required

API key in format 'sk-xxxxxxxxxxxxx' or 'sk_xxxxxxxxxxxxx'

Body

application/json

Response

201
application/json

Job created successfully

The response is of type object.