Api Endpoint

NetIntel

Extract structured data from invoice or receipt text — or directly from an invoice URL (PDF, HTML, or plain text, fetched and parsed server-side) — using Claude Haiku: returns vendor, invoice number, dates, line items, subtotal, tax, total, and currency as clean JSON for accounts-payable, expense processing, and bookkeeping automation.

Open interactive test console

Offering

Provider
netintel.dev
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Financial Analysis
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://netintel.dev/extract/invoice
MIME type
Not provided
First seen
2026-10-16T01:50:14.534Z
Last seen
Tags
data extraction, document parsing, structured data, text to json, llm extraction

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.02 USDC
Atomic price: 20000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
0.02 USDC
Atomic price: 20000 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "20000",
    "payTo": "0xdaDc335482AD545296Fd7b28518A251fFCbEb9Df"
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "20000",
    "payTo": "8FVeybWnB4dYrxTuPK7WzFZNAiEcFVaDLFnKpRwVGr5s"
  }
]

Observed health

Status
Healthy
Latest latency
97 ms
Average latency
239 ms
HTTP status
204
Last checked
Reachability
100% over 13 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "additionalProperties": false,
  "properties": {
    "body": {
      "properties": {
        "text": {
          "description": "The invoice or receipt content ITSELF (email body, OCR dump, pasted PDF text) — not an instruction or question about an invoice. Have only a link? Pass url instead. Text with no extractable invoice data returns an uncharged 400 (NO_INVOICE_CONTENT). Max 10000 words or 50KB.",
          "type": "string"
        },
        "url": {
          "description": "Publicly reachable invoice URL — PDF, HTML, or plain text; fetched and parsed server-side (e.g. https://vendor.example/invoice-42.pdf). Provide exactly one of text or url.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "bodyType": {
      "enum": [
        "json",
        "form-data",
        "text"
      ],
      "type": "string"
    },
    "method": {
      "enum": [
        "POST"
      ],
      "type": "string"
    },
    "type": {
      "const": "http",
      "type": "string"
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "example": {
      "properties": {
        "cached": {
          "description": "True if served from the in-memory cache.",
          "type": "boolean"
        },
        "findings": {
          "description": "Informational findings (e.g. no_total_found, totals_mismatch).",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "grade": {
          "description": "Letter grade A-F",
          "type": "string"
        },
        "invoice": {
          "description": "Parsed invoice fields: vendor, invoice_number, invoice_date, due_date, line_items (array of {description, quantity, unit_price, amount}), subtotal, tax, total, currency. Missing fields are null.",
          "type": "object"
        },
        "line_item_count": {
          "description": "Number of line items extracted.",
          "type": "number"
        },
        "score": {
          "description": "Quality score 0-100",
          "type": "number"
        },
        "source": {
          "description": "Where the invoice content came from. type is \"text\" or \"url\"; url and content_type (pdf | html | text) are null in text mode.",
          "properties": {
            "content_type": {
              "type": [
                "string",
                "null"
              ]
            },
            "type": {
              "type": "string"
            },
            "url": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "type": "object"
        },
        "totals_reconcile": {
          "description": "True if sum(line_items.amount) + tax ≈ total (within $0.02). False if they do not reconcile. Null if total or subtotal is missing.",
          "type": [
            "boolean",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "type"
  ],
  "type": "object"
}