{"slug":"x402-agent-tools-nerolabs-workers-dev-pdf-extract-0c868a","title":"Extracts the text (plain or Markdown) and tables from up to 10 PDF links, with p","host":"x402-agent-tools.nerolabs.workers.dev","method":"POST","resource":"https://x402-agent-tools.nerolabs.workers.dev/pdf-extract","category":"search","description":"Extracts the text (plain or Markdown) and tables from up to 10 PDF links, with page count, title, author and dates, and flags PDFs that are scans with no text layer (use /ocr for those). Choose a page range and a length limit. $0.01 per PDF. Runs nerolabs/dataset-pdf-extract.","price_listed":0.01,"price_asked":0.01,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":50,"reported_calls_30d":0,"reported_payers_30d":0,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"lastPage":1,"maxCharsPerPdf":2000,"pdfUrls":["https://www.irs.gov/pub/irs-pdf/fw9.pdf"]},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"additionalProperties":false,"properties":{"extractTables":{"default":true,"description":"Reconstruct tables from the position of the text on the page and return them as rows of cells. Plain text extraction loses table structure completely, so this is where most of the value is for invoices, statements and reports.","type":"boolean"},"firstPage":{"description":"Start reading at this page (1 is the first). Leave empty to read from the beginning.","minimum":1,"type":"integer"},"includePageText":{"default":false,"description":"Add a 'pages' array with each page's text separately, on top of the combined text. Useful for citing a page number, and it makes rows considerably larger.","type":"boolean"},"lastPage":{"description":"Stop reading after this page. Leave empty to read to the end. Handy for taking only the first few pages of long reports.","minimum":1,"type":"integer"},"maxCharsPerPdf":{"default":200000,"description":"Cuts the returned text at this many characters so one very long document cannot produce an unusable dataset row. The row records whether it was cut.","maximum":2000000,"minimum":500,"type":"integer"},"minTableRows":{"default":3,"description":"Minimum rows before a grid counts as a table. The default of 3 is a deliberate noise floor, because printed forms are built from aligned two-line boxes and report dozens of meaningless two-row 'tables'. Lower it to 2 for invoices whose line items are one header plus one row.","maximum":50,"minimum":2,"type":"integer"},"pdfUrls":{"description":"A plain list of PDF links, for a quick one-off run with no spreadsheet. Use the dataset, file or Google Sheet inputs above to keep your own columns alongside the results.","type":"array"},"textFormat":{"default":"plain","description":"'Plain text' returns the reading-order text. 'Markdown' appends any detected tables as Markdown tables after the text, which is the friendliest shape for feeding an LLM. 'None' skips the text entirely, for runs that only want page counts, metadata or tables.","enum":["plain","markdown","none"],"type":"string"}},"required":["pdfUrls"],"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":{"properties":{"example":{"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-10-21","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.01,"price_match":true,"latency_ms":50,"error":null}],"description_full":"Extracts the text (plain or Markdown) and tables from up to 10 PDF links, with page count, title, author and dates, and flags PDFs that are scans with no text layer (use /ocr for those). Choose a page range and a length limit. $0.01 per PDF. Runs nerolabs/dataset-pdf-extract.","last_updated":"2026-10-21T14:38:38.841Z","schemes":["exact"]}