Crawl

Start a new crawl job

Starts a new job to crawl a URL with the specified parameters. The job will be scheduled for execution on an appropriate device based on the requested capabilities and placement constraints. After submitting a job, use the Get Job Status endpoint to track its progress and retrieve results when completed.

POST
/crawl/v1/new

Request Body

application/json

Job parameters

url*string

URL to crawl.

method?string

HTTP method to use.

Default"GET"
Value in"GET" | "POST" | "PUT" | "DELETE" | "HEAD" | "OPTIONS" | "SOLANA_JSON_RPC" | "CRAWL_FULL_PAGE"
timeout_sec?integer

Request timeout in seconds. Minimum 1, maximum 300.

Default30
Range1 <= value <= 300
headers?

HTTP headers to include in the request. Each key maps to an array of values.

body?string

Request body, base64-encoded. Used with POST/PUT methods.

cookies?array<>

Optional cookies to include in the request. Alternative to passing a Cookie header manually.

session_id?string

Optional session ID to associate this job with an existing session.

Formatuuid
placement?

Optional placement constraints for device selection.

storage_type?string

Storage backend for the job result.

Default"local"
Value in"local" | "s3"
api_key?string

API key used to submit this job. Typically set via the Authorization header instead.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://edge.uprock.com/crawl/v1/new" \  -H "Content-Type: application/json" \  -d '{    "url": "https://example.com",    "method": "GET",    "timeout_sec": 30  }'
{
  "job_id": "f2bf9f8b-10ee-4c61-9633-4eacc3e8aac8",
  "method": "GET",
  "placement": {},
  "session_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "completed",
  "submitted_at": "2026-02-17T11:38:58.467667051Z",
  "timeout_sec": 30,
  "url": "https://example.com/"
}
"invalid request: url is required"
"unauthorized: invalid or missing API key"
"internal server error: please try again later"