Parse
POST /v1/parse takes one document. It returns readable markdown plus a structured JSON representation with layout and page information. It needs no schema and no configuration. Use it when you want the document’s content, not specific fields.
How it works
- You send a file: a URL, or the id of a file you already have.
- CloudRaker fetches the bytes and reads the document. Born-digital PDFs are read directly, scans through OCR, office files through conversion, and audio through transcription.
- The call holds until parsing finishes, up to
?wait=seconds (60 by default, 120 max). If parsing finishes in time, you get200with download URLs. If not, you get202with a run id to poll. - The run and its files expire on their own (
ttl, 24 hours by default).
Extraction parses too, so you do not need to call this first. POST /v1/extract parses as part of the run.
Quickstart
The sample below uses a blank IRS Form W-9 as a public, stable test document. The call works with no local files.
The TypeScript and Python samples are plain HTTP, so they run with nothing installed. This endpoint is also a top-level method on both SDKs as of 0.3.0: client.parse(…). That page has a full worked example.
Example response
Key fields
output appears only after status is processed. The download URLs are short-lived. Fetch the content instead of storing the URL.
A recording produces no markdown. Its output.jsonUrl holds the transcript: a language and an ordered segments array with timings, text, and speaker labels.
Reuse the returned file id (files[0].id) in later calls. Pass {"file": {"id": "<file id>"}} to extract. The document is then not fetched or parsed again.
Configuration
processing on the file ref picks how the document is read:
Transcription languages
Transcription supports English, Bulgarian, Croatian, Czech, Danish, Dutch, Estonian, Finnish, French, German, Greek, Hungarian, Italian, Latvian, Lithuanian, Maltese, Polish, Portuguese, Romanian, Russian, Slovak, Slovenian, Spanish, Swedish, and Ukrainian.
Enterprise plans can add more languages. Talk to your CloudRaker contact to request one.
Sync vs async
Identical to extract: synchronous by default, with ?wait= between 0 and 120 seconds. When the cap is reached, you get a 202 handle, not a timeout error.
Long audio and large scanned documents normally come back as 202. For those, pass ?wait=0, then poll or use a webhook.
Save as a config
Parsing has no configuration to save. There is no /v1/parse/configs library and nothing in GET /v1/actions/catalog. The saved-config path applies to extract, redact, and fill.