Skip to main content

1. Get a key

Create an API key in app.okrapdf.com/settings, then export it locally:
export OKRA_API_KEY=okra_sk_YOUR_KEY

2. Choose an entry point

npm install @okrapdf/sdk
import { createOkra } from '@okrapdf/sdk';

const okra = createOkra({ apiKey: process.env.OKRA_API_KEY });

const session = await okra.sessions.create(
  'https://www.irs.gov/pub/irs-pdf/fw9.pdf',
  { wait: true },
);

const { answer, sources } = await session.prompt('What form is this?');

console.log(answer);
console.log(sources);

3. Read the document

const { markdown } = await okra.read(session.id);
const pages = await session.pages();
const tables = await session.entities({ type: 'table' });
For raw HTTP:
curl https://api.okrapdf.com/v1/documents/doc-abc123/full.md \
  -H "Authorization: Bearer $OKRA_API_KEY"

4. Ask a question

const result = await session.prompt('What is the total amount due?');

console.log(result.answer);
console.log(result.sources);
Or call the OpenAI-compatible document endpoint:
curl -X POST https://api.okrapdf.com/v1/documents/doc-abc123/chat/completions \
  -H "Authorization: Bearer $OKRA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [
      { "role": "user", "content": "What is the total amount due?" }
    ]
  }'

Next steps

API reference

Browse the live OpenAPI-backed REST surface.

React hooks

Render document status, pages, chat, and live DocumentAgent state.

Host a PDF

Publish a clean *.okrapdf.dev PDF URL.

Invoice workflow

Run the built-in invoice extraction workflow.