Api Endpoint

NetIntel

Parse a PDF to text and Markdown: send a PDF url or base64 file, get clean Markdown with paragraphs rebuilt from the text layer, per-page character offsets for citing pages, metadata (title, author, dates, page count) and the page numbers that are scanned images with no text layer. Up to 50 pages per call. Text layer only, no OCR: an image-only PDF returns an uncharged 422.

Open interactive test console

Offering

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

Endpoint context

URL
https://netintel.dev/pdf/parse
MIME type
Not provided
First seen
2026-10-16T01:50:45.949Z
Last seen
Tags
pdf to text, pdf parser, pdf to markdown, extract text from pdf, document parsing

Payment pricing

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

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

Observed health

Status
Healthy
Latest latency
98 ms
Average latency
486 ms
HTTP status
204
Last checked
Reachability
100% over 12 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": {
        "file_base64": {
          "description": "The PDF as base64 or a data: URL (up to ~700 KB). Send url OR file_base64.",
          "type": "string"
        },
        "max_chars": {
          "description": "Cap on the markdown length (default 100000)",
          "type": "number"
        },
        "pages": {
          "description": "Pages to parse, 1-based, e.g. \"1-3,7\" (default: the first 50)",
          "type": "string"
        },
        "url": {
          "description": "Public URL of the PDF (up to 10 MB)",
          "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": {
        "char_count": {
          "type": "number"
        },
        "findings": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "markdown": {
          "description": "All parsed pages, each after a <!-- page N --> marker",
          "type": "string"
        },
        "metadata": {
          "type": "object"
        },
        "page_count": {
          "type": "number"
        },
        "pages": {
          "description": "Per page: page, word_count, has_text, char_start, char_end (offsets into markdown)",
          "type": "array"
        },
        "pages_parsed": {
          "type": "number"
        },
        "scanned_pages": {
          "items": {
            "type": "number"
          },
          "type": "array"
        },
        "source": {
          "type": "object"
        },
        "truncated": {
          "type": "boolean"
        },
        "word_count": {
          "type": "number"
        }
      },
      "type": "object"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "type"
  ],
  "type": "object"
}