POST /webhook/run-routine

Runs a saved routine. Because its config, selectors and URL list already exist, the request body is tiny.

Authentication: x-api-key. Cost: 3 credits.

Standard run

curl -X POST https://api.jetscrape.com/webhook/run-routine \
  -H "Content-Type: application/json" \
  -H "x-api-key: js_YOUR_API_KEY" \
  -d '{
    "routine_id": 34,
    "max_items": 50
  }'
{
  "dispatch_id": "disp_abc123",
  "message": "Routine started",
  "success": true
}

Read the results with POST /webhook/check-job and the returned dispatch_id.

One-time URL override

To scrape a list of URLs once without changing the routine's saved setup, add the urls field. Selectors come from the routine's config, so you do not send any. The routine's standing URL list is left untouched.

curl -X POST https://api.jetscrape.com/webhook/run-routine \
  -H "Content-Type: application/json" \
  -H "x-api-key: js_YOUR_API_KEY" \
  -d '{
    "routine_id": 34,
    "urls": ["https://example.com/p/1", "https://example.com/p/2"]
  }'
  • routine_id (number) — the routine to run.
  • urls (string array, optional) — a non-empty array of URLs starting with http or https. Supplying it turns the request into a one-time override (one_time: true).
  • one_time (boolean, optional) — only meaningful with urls, and defaults to true. Sending one_time: false together with urls is not supported and returns 400.
  • max_items (number, optional) — also applies to one-time runs.

The target_worker parameter is not supported by this API. One-time rows are persistent — there is no automatic cleanup — and one-time overrides cannot be used with chain routines.

Routine or plain unblocker?

  • Same selectors, constantly changing URLs — a routine with one-time urls.
  • A saved URL list scraped on a schedule — a routine, standard run.
  • A one-off job not worth savingPOST /webhook/unblocker directly.

Last updated: September 22, 2026