Skip to main content

Python SDK for the 0xPdf PDF-to-JSON API

Project description

oxpdf

Python SDK for the 0xPdf PDF-to-JSON API.

Installation

pip install oxpdf

Quick Start

from oxpdf import Client

client = Client(api_key="your_api_key")

# Parse with a built-in template
result = client.parse("invoice.pdf", schema_template="invoice")
print(result["data"])

# Parse with a custom schema
result = client.parse("doc.pdf", schema={
    "type": "object",
    "properties": {
        "title": {"type": "string"},
        "amount": {"type": "number"}
    }
})

# Stream parse with real-time progress
for event in client.parse_stream("large.pdf", schema_template="invoice"):
    if event["event"] == "page":
        print(f"Progress: {event['data'].get('message')}")
    elif event["event"] == "complete":
        print("Done!", event["data"])

Error Handling

from oxpdf import Client, OxPDFError

client = Client(api_key="your_api_key")

try:
    result = client.parse("doc.pdf", schema_template="invoice")
except OxPDFError as e:
    print(f"API error: {e} (status: {e.status_code})")
except FileNotFoundError:
    print("PDF file not found")

Full API Reference

Client

Client(api_key, base_url="https://api.0xpdf.com/api/v1")

PDF Parsing

Method Description
parse(file_path, *, schema, schema_template, schema_id, use_ocr, ocr_engine, pages) Sync parse — returns structured JSON
parse_stream(file_path, *, schema, schema_template, schema_id, use_ocr, ocr_engine, pages, batch_size) Streaming parse via SSE — yields events
validate(file_path, *, schema_id, schema_name) Dry-run validation without processing

Async Jobs

Method Description
upload(file_path, *, schema_id, schema_name, use_ocr, ocr_engine) Queue PDF for background processing
job_status(job_id) Poll async job status

Image Extraction

Method Description
extract_images(file_path, *, pages, min_width, min_height, use_ocr, ocr_engine) Extract images from a PDF
list_images(*, limit, offset) List extracted images
get_image_url(image_id, *, expiration_seconds) Get/refresh presigned URL
delete_image(image_id) Delete a specific image
delete_all_images() Delete all images

File Management

Method Description
list_files() List uploaded PDFs
get_file(pdf_id) Get PDF metadata + download URL
delete_file(pdf_id) Delete an uploaded PDF

Schema CRUD

Method Description
list_schemas() List saved schemas
get_schema(schema_id) Get schema with full definition
create_schema(name, schema, *, is_default) Create a new schema
update_schema(schema_id, name, schema, *, is_default) Update existing schema
delete_schema(schema_id) Delete a schema
set_default_schema(schema_id) Set as default
generate_schema(description, *, refinement, current_schema, selected_text) AI-generate a schema

Templates

Method Description
list_templates() Parse templates (invoice, receipt, etc.)
list_schema_templates() Schema editor templates
get_schema_template(template_id) Get template with full schema

Analytics & Pricing

Method Description
get_analytics() Usage analytics
submit_feedback(feedback) Submit feedback
get_pricing(*, billing_cycle) Get pricing tiers
get_current_tier() Current subscription & quota

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oxpdf-0.1.0.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oxpdf-0.1.0-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file oxpdf-0.1.0.tar.gz.

File metadata

  • Download URL: oxpdf-0.1.0.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for oxpdf-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0fb74c75c9f6ad4b3873d018f15adad0d89da9fa3922ace55203699c4469ad81
MD5 8c2a84d291cd984e90479678463558ae
BLAKE2b-256 d7a87dae2d9ebce4005d6b071b0eed0305a821a1fb7609c0e01907ba3d82f7af

See more details on using hashes here.

File details

Details for the file oxpdf-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: oxpdf-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for oxpdf-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f9abc9409630b52697998d28e9db87b9cadb60e24644ab063e8d66cdc4b25d18
MD5 2640197c97ff9163343268c9ddf5184f
BLAKE2b-256 bef8fc213807a2808301d2fb80995d38e45a7d6fd898782628f88fde5752997e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page