Skip to content

Synchronous requests

Retrieve a page and get its body back in the same response.

Use synchronous execution when the caller can hold the connection open until the result is ready.

curl --request POST 'https://api.example.struq/v1/scrape' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: checkout-page-2026-09-03-001' \
--data '{
"url": "https://example.com/products/123",
"render_mode": "static",
"geo": "US",
"metadata": { "customer_reference": "product-123" }
}'

A success is returned as the raw validated target body with HTTP 200. Important response headers are:

Header Meaning
X-Request-Id Struqter identifier to include in support requests
X-Execution-Mode sync
X-Route-Mode normal or best_effort
X-Target-Status HTTP status observed at the target
X-Render-Mode Render mode used

Calls are independent and can run concurrently up to your contract limits. You do not need to submit requests one at a time. A limit response uses HTTP 429 and includes Retry-After.

Request metadata is stored with the operation but is not returned in the current API responses. Keep your own mapping between X-Request-Id and any customer-side reference when you need it in downstream workflows.