Turn a PDF into text, Markdown, or structural JSON.

Parse the text layer of a PDF into text, Markdown, or flowyn.pdf_parse.v1 JSON. Headings, tables, and reading order are preserved. Pages without a text layer stay empty.

PDF received
test
quarterly-report.pdf
PDF · 18 pages · 4.2 MB
Accepted
Stored before any processing starts. Job job_parse_7ab2 was returned with HTTP 202.
Result
Waiting for the worker. Poll GET /v1/file-jobs/{id} until it finishes.
job
job_parse_7ab2
attempt
—
What it does

Real product states, not a promise.

Parse the text layer of a PDF into text, Markdown, or flowyn.pdf_parse.v1 JSON. Headings, tables, and reading order are preserved. Pages without a text layer stay empty.

  • Headings and tables kept in reading order
  • Empty pages are reported as empty, not guessed
  • Outputs linked to the job and the source file
  • Asynchronous: HTTP 202 then job status
Input

An uploaded PDF file_id and an output format

Output

Text, Markdown, or flowyn.pdf_parse.v1 JSON

Where it fits

Where it fits

01

Invoice and report ingestion

02

Feeding documents to LLM pipelines and agents

03

Searchable archives

API example

One durable request.

POST /v1/pdf/parse. Use an idempotency key on create calls. The full request and response contract is in Flowyn Docs.

AcceptedClaimedAttemptedTerminal state
POSThttps://api.flowyn.dev/v1/pdf/parse202
curl -X POST https://api.flowyn.dev/v1/pdf/parse \
  -H "Authorization: Bearer flw_test_••••" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: parse-001" \
  -d '{
    "file_id": "9c1e5b7a-2d4f-4a6b-8e3c-1f0a7d2b5c64",
    "output": "markdown"
  }'

Frequently asked questions

Where is the exact request contract for PDF Parse?
In Flowyn Docs and the OpenAPI document at https://api.flowyn.dev/openapi/v1.yaml. This page shows the request; the docs page lists every field, status value, error, and limit.
Is the operation durable?
Yes. The operation is stored before any work happens and remains a resource with state, attempts, and error context, not an ephemeral request log.
Do failures stay inspectable?
Yes. Every attempt is recorded. Repeated failures with the same fingerprint are also grouped into an Issue.

Build with PDF Parse.

Create a workspace, make your first call in the test environment, and inspect every attempt.