Skip to main content
Parse once, then extract fields from the same parsed document. Pass the completed Parse result’s id to Extract as parse_id. The second call reuses the parsed content without uploading or parsing the file again. Use this flow when you want to inspect parsed content first or run multiple schemas against the same document. Use direct Extract when you already know your schema and want a single request that returns structured data.

Pass the Parse ID to Extract

A file_id identifies an uploaded file; a Parse ID identifies processed content. Keep the original Parse ID when you want another extraction. Extract returns its own result ID.

Chain two requests

Set UNSTRUCTURED_API_KEY to your API key and save your document as document.pdf. Install the Python SDK or TypeScript SDK before using those tabs. The cURL example uses zsh and requires jq. The synchronous tab is the default path. Each request returns a completed result before the next line runs. Use the asynchronous tab when you need to return before processing finishes.

Run another schema against the same Parse

Keep the parsed document’s ID from the first operation. Send another Extract request with that ID and a different schema, such as one requesting total instead of invoice_number. Each Extract request creates a separate extraction. Reusing the Parse avoids repeating the parsing step; it does not make extraction free or imply indefinite retention. See the Extract endpoint, captured Extract response, and retention guidance.