@okrapdf/cli
v0.5.3
Published
OkraPDF command-line interface for PDF extraction and document chat
Downloads
425
Maintainers
Readme
@okrapdf/cli
Command-line interface for OkraPDF - extract tables from PDFs.
Installation
npm install -g @okrapdf/cliOr use with npx:
npx @okrapdf/cli jobs listQuick Start
# Create a .env file with your API key
echo "OKRA_API_KEY=okra_xxxxxxxxxxxx" > .env
# Or create ~/.okra for global config
echo "OKRA_API_KEY=okra_xxxxxxxxxxxx" > ~/.okra
# List your documents
okra docs list
# List extraction jobs
okra jobs list
# Extract tables from a PDF
okra extract invoice.pdf -o jsonGet your API key from okrapdf.com/settings/api-keys.
Configuration
The CLI looks for your API key in this order:
OKRA_API_KEYenvironment variable.envfile in current directory.okrafile in current directory~/.okrafile in home directory~/.config/okrapdf/config.json
Example .env or .okra file:
OKRA_API_KEY=okra_xxxxxxxxxxxx
OKRA_BASE_URL=https://okrapdf.comCommands
Documents
okra docs list # List all documents
okra docs upload <file> # Upload a PDF
okra docs get <uuid> # Get document details
okra docs delete <uuid> # Delete a documentJobs
okra jobs list # List extraction jobs
okra jobs create <file> # Create extraction job
okra jobs get <job-id> # Get job status
okra jobs wait <job-id> # Wait for completion
okra jobs results <job-id> # Get extraction resultsTables
okra tables list <doc-uuid> # List extracted tables
okra tables get <table-id> # Get table content
okra tables export <id> # Export to CSV/JSONShortcuts
okra extract <file> # Upload + extract + wait (all-in-one)Interactive
okra chat <job-id> # Interactive document chat
okra watch [job-ids...] # Monitor live sessions in browserIntrospection
okra schema [command ...] # Machine-readable command schema
okra exit-codes # Stable exit codes for automationOutput Formats
All commands support -o, --output:
table(default) - Human-readable tablesjson- Machine-readable JSONcsv- CSV format
# JSON for scripting
okra jobs list -o json | jq '.[].id'
# Quiet mode for piping
okra extract doc.pdf -o json -q > results.jsonEnvironment Variables
| Variable | Description |
|----------|-------------|
| OKRA_API_KEY | API key (required) |
| OKRA_BASE_URL | Custom API URL (for self-hosted) |
| OKRA_OUTPUT_FORMAT | Default output format |
| OKRA_VERBOSE | Enable verbose diagnostics when set to 1 |
Examples
Batch Processing
for pdf in *.pdf; do
okra extract "$pdf" -o json > "${pdf%.pdf}.json"
doneCI/CD Integration
# Extract and check for tables
RESULT=$(okra extract report.pdf -o json -q)
TABLE_COUNT=$(echo "$RESULT" | jq '.tables | length')
echo "Found $TABLE_COUNT tables"Exit Codes
| Code | Meaning | |------|---------| | 0 | Success | | 1 | General error | | 2 | Invalid arguments | | 3 | Authentication error | | 4 | Resource not found | | 5 | Rate limited |
Development
git clone https://github.com/steventsao/okrapdf
cd okrapdf/packages/cli
npm install
npm run build
npm link
okra --helpLicense
MIT
