Riken ScraperDocs

Start an export

POSThttps://scraper.riken.me/v1/jobs/{id}/export
Cost: FreeLiveErrors are free

Try it

Paste your key under Authorization and send a live request to https://scraper.riken.me. The key stays in this browser tab only (session storage, cleared when the tab closes) and is sent nowhere else. A live request spends credits like any other.

POST
/v1/jobs/{id}/export

Write all of a finished job's results as gzipped NDJSON files, read in one database snapshot. Free; owner key only. The job must be done, failed or canceled with finished_at set, else 409 job_not_finished.

Idempotent: POST again and you get the same export, not rebuilt. It is rebuilt only when the last export failed or the job finished again after it was built. 202 while it builds, with Location and Retry-After: 5.

Headers

NameTypeRequiredDescriptionExample
x-api-keystringone of the auth headersYour API key. If both headers are sent, `x-api-key` wins.sk_...
Authorizationstringone of the auth headers`Authorization: Bearer <key>`, the same key.Bearer sk_...

Path parameters

NameTypeRequiredDescriptionExample
idintegeryesThe job id. Another key's job answers as if it did not exist.685

Status codes

StatusChargedMeaning
200FreeThe export is done (with URLs), failed, or stale. Free.
202FreeThe export is pending or running. Poll poll_url after Retry-After (5 s). Free.
400FreeA malformed body, parameter or cursor. Free.
401FreeMissing, unknown or revoked key. Free.
404FreeNo such job, another key's job, or (GET export only) no export requested yet. Free.
409FreeThe job is still queued or running, or canceled/failed with results still being saved (no finished_at yet). Free.
429FreeThe key's request rate. Free.
500FreeOur fault. Free.
503FreeExport is switched off on this server. Free.

Response Body

The export is done (with URLs), failed, or stale. Free.

application/json
  1. response
job_id*integer
Formatint64
state*string
Value in"pending""running""done""failed""stale"
format*unknown
poll_url*string
sections?

Every list this kind exports with its row count, 0 included. Present once done.

parts*array<>
rows_total*integer
bytes_total*integer
urls_expire_at?string
Formatdate-time
credits_charged*unknown
failure_reason?string
retry_at?string
Formatdate-time
attempts*integer
requested_at*string
Formatdate-time
started_at?string
Formatdate-time
finished_at?string
Formatdate-time

Example request

# A call can be held open up to 180 s (audience: 300 s). Set a client timeout above that.curl -X POST 'https://scraper.riken.me/v1/jobs/685/export'
Example Response
{  "job_id": 685,  "state": "done",  "format": "ndjson.gz",  "poll_url": "/v1/jobs/685/export",  "sections": {    "creators": 9720,    "media": 299818,    "walks": 9731  },  "parts": [    {      "section": "creators",      "part": 0,      "rows": 9720,      "bytes": 1350211,      "url": "https://cs-niche-video.s3.us-west-2.amazonaws.com/scraper/exports/key-7/job-685/attempt-1/creators-0000.ndjson.gz?X-Amz-..."    },    {      "section": "media",      "part": 0,      "rows": 50000,      "bytes": 6012345,      "url": "https://..."    },    {      "section": "media",      "part": 1,      "rows": 50000,      "bytes": 5998812,      "url": "https://..."    }  ],  "rows_total": 319269,  "bytes_total": 41234567,  "urls_expire_at": "2026-11-05T23:41:00Z",  "credits_charged": "0",  "attempts": 1,  "requested_at": "2026-11-05T18:02:11Z",  "started_at": "2026-11-05T18:02:11Z",  "finished_at": "2026-11-05T18:04:40Z"}