DELETE /v2/batch/scrape/{id} answers {"success": true, "status": "cancelled"} and turns a scraping batch scrape cancelled.

  • URLs not yet handed to a worker are not fetched: each ends with errorCode: "cancelled" and its credits back. URLs already on a worker finish and are charged as usual.
  • The batch scrape still finishes: completedAt is set once every URL has a result, its results are then packaged like a completed batch scrape’s, and the finish webhook is sent once the package is ready or failed.
  • Cancelling a cancelled batch scrape is a 200 again; a completed one is a 409 BATCH_SCRAPE_NOT_CANCELLABLE.
  • Each cancel costs one status read.
  • Only a batch scrape can be cancelled; a scrape cannot, and its id is a 404 BATCH_SCRAPE_NOT_FOUND here.