{"uid":"cap_GttqziztrLeEJZvj2GLPV","slug":"tanod-pdfpeek-bank-statement-parser-c8aadedd","name":"Tanod pdfpeek Bank Statement Parser","description":"One MCP server and HTTP API with 193 pay-per-call tools for AI agents (security checks, chain data, finance, aviation, documents), plus free uptime and MikroTik monitoring and 130+ free browser tools. No signup; free daily tier. Operated by an AI.","url":"https://tanod.dev/v1/pdf/bank-statement?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"url":{"anyOf":[{"type":"string","maxLength":2048,"minLength":1},{"type":"null"}],"default":null,"description":"Public http(s) URL of the PDF (at most 20 MB; private, internal and IP-literal hosts are refused); or use file_base64."},"pages":{"anyOf":[{"type":"string","pattern":"^[0-9a-zA-Z ,\\-]+$","maxLength":200,"minLength":1},{"type":"null"}],"default":null,"description":"Pages to read (default all; at most 200 per call): N, N-M, N- (to the end), -M, last; comma separated, e.g. 1-5,9."},"format":{"enum":["json","csv","xlsx","ofx","qif"],"type":"string","default":"json","description":"json (default: the transactions with their reconciliation), csv, xlsx (a Transactions and a Summary sheet), ofx (OFX 1.0.2) or qif (Quicken, dates as MM/DD/YYYY)."},"output":{"enum":["base64","url"],"type":"string","default":"base64","description":"base64 (default): the file comes back inline as base64. url: the file is stored for 24 hours and the reply carries a download link (url, expires_at, bytes, content_type, sha256) instead of the base64, which keeps the file out of your context window."},"file_base64":{"anyOf":[{"type":"string","maxLength":13398872,"minLength":1},{"type":"null"}],"default":null,"description":"The PDF as base64 (at most 10 MB decoded); or use url."}}},"responseSchema":{"type":"json","example":{"order":"oldest_first","format":"json","layout":"debit_credit","period":{"end":"2024-03-31","start":"2024-03-01"},"account":{"iban":"DE89370400440532013000","number":null},"currency":"EUR","decimals":2,"total_in":3200,"warnings":[],"operation":"bank-statement","total_out":1720.65,"confidence":0.99,"date_order":"dmy","input_bytes":2688,"input_pages":1,"flagged_rows":[],"transactions":[{"row":1,"date":"2024-03-04","note":null,"page":1,"amount":-950,"row_ok":true,"balance":1530,"value_date":null,"description":"Rent March"},{"row":2,"date":"2024-03-06","note":null,"page":1,"amount":-62.35,"row_ok":true,"balance":1467.65,"value_date":null,"description":"Card payment SUPERMARKET BERLIN"},{"row":3,"date":"2024-03-11","note":null,"page":1,"amount":3200,"row_ok":true,"balance":4667.65,"value_date":null,"description":"Salary ACME GmbH"},{"row":4,"date":"2024-03-15","note":null,"page":1,"amount":-129.9,"row_ok":true,"balance":4537.75,"value_date":null,"description":"Online order 4471-2209 Invoice for office chair"},{"row":5,"date":"2024-03-22","note":null,"page":1,"amount":-78.4,"row_ok":true,"balance":4459.35,"value_date":null,"description":"Electricity March"},{"row":6,"date":"2024-03-29","note":null,"page":1,"amount":-500,"row_ok":true,"balance":3959.35,"value_date":null,"description":"Transfer to savings"}],"reconciliation":{"passed":6,"checked":6,"flagged":0,"unchecked":0,"balance_check":true},"closing_balance":3959.35,"opening_balance":2480,"pages_processed":1,"date_order_source":"a day above 12","transaction_count":6,"untrusted_content":true,"pages_without_text":[],"closing_balance_source":"printed","opening_balance_source":"printed"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.02","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.02/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_Ise3LtP2UKx4JOYU80Dsk","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.02","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Extracts dated, signed transactions with running-balance reconciliation from a PDF bank statement, returning JSON, CSV, XLSX, OFX, or QIF output.","exampleAgentPrompt":"Can you parse this bank statement PDF at https://example.com/statement.pdf and give me all the transactions with a running balance check as a CSV?","exampleUseCases":[{"title":"Bookkeeper imports client bank data","prompt":"I've got a client's bank statement PDF at https://files.myaccounting.com/client123-jan.pdf — can you extract all the transactions with their dates and amounts, run a balance check, and give me the results as an XLSX file with a summary sheet?"},{"title":"Personal finance reconciliation","prompt":"Here's my bank statement as a base64 PDF — can you pull out all the transactions from pages 1-3 and give me the JSON output so I can check if my running balance matches?"},{"title":"Import transactions into Quicken","prompt":"I need to import my bank statement into Quicken — can you read this PDF from https://mybank.com/statements/2024-march.pdf and convert all the transactions to QIF format?"}],"resultDescription":"Returns a structured list of dated, signed transactions extracted from the PDF bank statement, along with a running-balance reconciliation check. Output format is caller-specified: JSON (default, with full reconciliation metadata), CSV, XLSX (with Transactions and Summary sheets), OFX 1.0.2, or QIF (Quicken-compatible, MM/DD/YYYY dates).","failureModes":["PDF URL is private, internal, or IP-literal — returns refusal error","PDF exceeds 20 MB (URL) or 10 MB decoded (base64) — returns size error","PDF is password-protected or encrypted — returns parse error","Page range references non-existent pages or exceeds 200-page limit — returns validation error","PDF does not contain a recognizable bank statement layout — may return empty or partial transaction list","Running balance does not reconcile — flagged in response but still returned","Neither url nor file_base64 provided — returns input validation error"],"whenToPreferThis":"Use this endpoint when you need to programmatically extract structured transaction data from a PDF bank statement with running-balance reconciliation, especially when you need flexible output formats (JSON, CSV, XLSX, OFX, QIF) for downstream use in accounting, bookkeeping, or personal finance tools. Prefer this over generic PDF-to-text tools because it understands bank statement structure, produces signed dated transactions, and verifies the balance.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-13T00:40:38.169Z","isFirstParty":false,"canonicalSlug":"tanod-pdfpeek-bank-statement-parser-c8aadedd"}