An API built for AI agents

Turn messy documents into clean JSON

POST a PDF or image, pass the JSON schema you want, and get structured data back in one request. Schema-first, confidence-scored, and priced by the credit — the parsing tool your AI agent calls when it hits messy data.

Schema-first

Pass a JSON Schema and every response is guaranteed to match it. No brittle regex, no post-processing.

Confidence built in

Every extraction returns a confidence level and a review_needed flag so agents can gate low-quality docs.

Agent-native

OpenAPI spec, llms.txt, and copy-paste tool definitions for OpenAI and Anthropic tool use.

One POST request

Send a URL, a base64 blob, or a multipart file. Add an optional schema to shape the output.

cURL

# 1. Get a free API key (50 credits, no card)
curl -X POST https://aidataparser.com/v1/keys \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com"}'

# 2. Parse a document into structured JSON
curl -X POST https://aidataparser.com/v1/parse/document \
  -H "Authorization: Bearer adp_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/invoice.pdf",
    "schema": {
      "type": "object",
      "properties": {
        "invoice_number": { "type": "string" },
        "total": { "type": "number" },
        "due_date": { "type": "string" },
        "line_items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "description": { "type": "string" },
              "amount": { "type": "number" }
            }
          }
        }
      }
    }
  }'

As an agent tool (Anthropic / OpenAI tool use)

// Give your agent a tool that calls AIDataParser
const tools = [{
  name: "parse_document",
  description: "Extract structured JSON from any PDF or image URL.",
  input_schema: {
    type: "object",
    properties: {
      url: { type: "string" },
      schema: { type: "object" }
    },
    required: ["url"]
  }
}];

// When the model calls the tool, forward it to AIDataParser:
async function parseDocument({ url, schema }) {
  const res = await fetch("https://aidataparser.com/v1/parse/document", {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${process.env.AIDP_API_KEY}`,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({ url, schema })
  });
  return res.json(); // { data, confidence, review_needed, ... }
}

Response

{
  "object": "parse.document",
  "data": {
    "invoice_number": "INV-2043",
    "total": 1240.00,
    "due_date": "2026-08-01",
    "line_items": [
      { "description": "API credits", "amount": 1240.00 }
    ]
  },
  "confidence": "high",
  "review_needed": false,
  "model": "claude-haiku-4-5",
  "credits_charged": 1,
  "credits_remaining": 49
}

Pay by the credit

Start free with 50 credits — no card required. Credits never expire. Roughly 1 credit per document. No subscription lock-in.

Starter

$9

500 credits

~1.8¢ / document

Most popular

Growth

$29

2,000 credits

~1.5¢ / document

Scale

$99

10,000 credits

~1.0¢ / document

Credit-pack checkout ships next. For now, grab your 50 free credits and start building.