PDF Table Extraction API enables developers to reliably extract structured tabular data from PDF documents and convert it into machine-readable formats such as JSON, Excel, or CSV.
This API focuses exclusively on true table extraction, not general PDF text parsing. It automatically detects grid-based tabular structures within PDFs and ignores non-tabular content such as titles, headers, footers, and paragraphs. This makes it ideal for automation, ETL pipelines, data ingestion workflows, and backend systems that require clean, predictable output.
Detects and extracts one or multiple tables from a single PDF
Supports tables spanning multiple pages
Returns results in JSON, Excel (.xlsx), or CSV
Multiple tables are returned as:
An array in JSON
Separate worksheets in Excel
Separate CSV files packaged in a ZIP archive
Deterministic output: same input always produces the same result
Optional confidence scores per table
Designed for automation and backend use cases
Identifies tabular data based on layout and structure
Preserves row and column alignment
Handles irregular tables, empty cells, and uneven rows
Returns structured output suitable for programmatic processing
Does not extract free-form text outside tables
Does not perform OCR on scanned PDFs
Does not attempt semantic interpretation of table contents
Does not modify or enrich data values
Extract invoice line items from PDF documents
Convert financial reports into structured datasets
Ingest tabular data from customer-uploaded PDFs
Automate data pipelines from PDF sources
Replace manual copy-paste workflows
JSON
Tables returned as an array
Each table includes rows, page range, and confidence score
Excel (.xlsx)
One workbook per request
Each table placed in a separate worksheet
CSV
Each table exported as a separate CSV file
All CSV files returned in a ZIP archive
Stateless and privacy-friendly
No data is stored after processing
Secure HTTPS-only communication
Suitable for production workloads
Maximum PDF size limits apply
Text-based PDFs only (no OCR support)
Tables must be visually structured (grid or aligned rows)
This API is designed for developers who need reliable table extraction, predictable output, and clean integration into automated systems — without the complexity or cost of large enterprise document platforms.
If you need structured data from PDF tables — not text blobs, not images, and not manual cleanup — this API provides a fast, deterministic, and developer-friendly solution.
提取数据 - 端点功能
| 对象 | 描述 |
|---|---|
pages |
可选 Pages to extract. Examples: "all", "1,3-5", or [1,3,4,5] |
fileBase64 |
可选 Base64-encoded PDF (alternative to multipart upload) |
请求体 |
[必需] 文件二进制 |
{"tables":[{"tableIndex":0,"pageRange":[1,1],"rows":[["Lorem ipsum","","","","","","","",""],["condimentum.","Vivamus","dapibus","sodales","ex,","vitae","malesuada","ipsum","cursus"],["convallis. Maecenas sed egestas nulla, ac condimentum orci.","Mauris diam felis,","","","","","","",""],["ac accumsan nunc vehicula vitae.","Nulla eget justo in felis tristique fringilla. Morbi sit amet","","","","","","",""],["","Maecenas non lorem quis tellus placerat varius.","","","","","","",""],["","Aenean congue fringilla justo ut aliquam.","","","","","","",""],["","Mauris id ex erat.","Nunc vulputate neque vitae justo facilisis, non condimentum ante","","","","","",""],["sagittis.","","","","","","","",""],["","Morbi viverra semper lorem nec molestie.","","","","","","",""],["","Maecenas tincidunt est efficitur ligula euismod, sit amet ornare est vulputate.","","","","","","",""],["12","","","","","","","",""],["10","","","","","","","",""],["8","","","","","","","",""],["Column 1","","","","","","","",""],["6","","","","","","","",""],["Column 2","","","","","","","",""],["4 Column 3","","","","","","","",""],["2","","","","","","","",""],["0","","","","","","","",""],["Row 1","Row 2","Row 3","Row 4","","","","",""]],"rowCount":20,"columnCount":9,"strategyUsed":"stream","warnings":[],"confidence":0.85},{"tableIndex":1,"pageRange":[2,2],"rows":[["velit.","Pellentesque","fermentum","nisl","vitae","fringilla","venenatis.","Etiam","id","mauris","vitae","orci"],["a.","","","","","","","","","","",""],["Lorem ipsum","Lorem ipsum","Lorem ipsum","","","","","","","","",""],["1","In eleifend velit vitae libero sollicitudin euismod.","Lorem","","","","","","","","",""],["2","Cras fringilla ipsum magna, in fringilla dui commodo Ipsum","","","","","","","","","",""],["a.","","","","","","","","","","",""],["3","Aliquam erat volutpat.","Lorem","","","","","","","","",""],["4","Fusce vitae vestibulum velit.","Lorem","","","","","","","","",""],["5","Etiam vehicula luctus fermentum.","Ipsum","","","","","","","","",""],["et","pulvinar","nunc.","Pellentesque","fringilla","mollis","efficitur.","Nullam","venenatis","commodo","",""]],"rowCount":10,"columnCount":12,"strategyUsed":"stream","warnings":[],"confidence":0.85},{"tableIndex":2,"pageRange":[3,3],"rows":[["elit.","","","","","","","","","","",""],["dictum tellus.","","","","","","","","","","",""],["Aliquam","erat","volutpat.","Vestibulum","in","egestas","velit.","Pellentesque","fermentum","nisl","vitae",""],["fringilla","venenatis.","Etiam","id","mauris","vitae","orci","maximus","ultricies.","Cras","fringilla","ipsum"],["et","pulvinar","nunc.","Pellentesque","fringilla","mollis","efficitur.","Nullam","venenatis","commodo","",""]],"rowCount":5,"columnCount":12,"strategyUsed":"stream","warnings":[],"confidence":0.85}],"summary":{"tableCount":3,"pageCount":4}}
curl --location 'https://zylalabs.com/api/11754/pdf+table+extraction+api/22299/extract+data' \
--header 'Content-Type: application/json' \
--form 'image=@"FILE_PATH"'
| 标头 | 描述 |
|---|---|
授权
|
[必需] 应为 Bearer access_key. 订阅后,请查看上方的"您的 API 访问密钥"。 |
无长期承诺。随时升级、降级或取消。 免费试用包括最多 50 个请求。
API返回从PDF文档提取的结构化表格数据。这包括多个表格,每个表格以JSON格式的数组表示,用户可以选择接收Excel(.xlsx)或CSV格式的数据
响应包括关键字段,例如 `tableIndex`、`pageRange`、`rows`、`rowCount`、`columnCount`、`strategyUsed` 和 `confidence`。每个表的数据都经过组织,以便于程序化处理
响应数据被组织成一个摘要部分,包括表格和页面的总数量,后面跟着一个表格数组。每个表格包含其行、页面范围和信心分数,使得导航和利用变得简单
端点的主要参数是PDF文件本身,可以直接上传 额外的参数可能包括输出格式的选项(JSON Excel CSV)和置信评分的设置
数据的准确性通过确定性输出得以保持,这意味着相同的输入始终会产生相同的结果。API还为每个表提供可选的置信度分数,指示提取的可靠性
典型的用例包括提取发票项目将财务报告转换为结构化数据集自动化数据管道以及从客户上传的PDF中摄取表格数据以简化数据处理工作流
用户可以利用结构化输出将其集成到数据管道、ETL 过程或后台系统中。组织良好的格式使得在各种应用中对提取的表格进行轻松的操作和分析成为可能
用户可以期待反映原始表格结构的数据模式,包括行和列对齐。API处理不规则表格和空单元格,确保输出保持结构化并适合进一步处理
API可以提取各种类型的结构化表格,包括那些不规则布局、空单元格和行数不一致的表格。它自动检测PDF中的单个或多个表格,确保仅处理基于网格的表格结构
该API支持跨多个页面的表格,准确捕捉整个表格结构并以单个输出返回。每个表格的页面范围包含在响应中以便于参考
是的 用户可以通过指定所需的输出格式来自定义数据请求 JSON Excel (.xlsx) 或 CSV 这种灵活性允许集成到各种应用程序和工作流程中
该API为每个提取的表格提供可选的置信分数,以指示提取的可靠性 此功能帮助用户评估返回数据的质量
该API旨在无状态和隐私友好,确保处理后不存储数据。它使用安全的仅限HTTPS通信来保护用户在传输过程中的数据
用户可以期待API优雅地处理空单元格,保持表格的整体结构。输出将反映原始布局,使得尽管存在缺失值,数据操作仍然简单明了
置信分数范围从0到1,表示提取的表格准确的可能性。较高的分数表示更高的可靠性,帮助用户确定哪些表格值得信任以便进一步处理
`strategyUsed`字段指示API提取表格数据所采用的方法。该信息可以帮助用户了解提取过程并评估输出对其特定需求的适用性
Zyla API Hub 就像一个大型 API 商店,您可以在一个地方找到数千个 API。我们还为所有 API 提供专门支持和实时监控。注册后,您可以选择要使用的 API。请记住,每个 API 都需要自己的订阅。但如果您订阅多个 API,您将为所有这些 API 使用相同的密钥,使事情变得更简单。
价格以 USD(美元)、EUR(欧元)、CAD(加元)、AUD(澳元)和 GBP(英镑)列出。我们接受所有主要的借记卡和信用卡。我们的支付系统使用最新的安全技术,由 Stripe 提供支持,Stripe 是世界上最可靠的支付公司之一。如果您在使用卡片付款时遇到任何问题,请通过 [email protected]
此外,如果您已经以这些货币中的任何一种(USD、EUR、CAD、AUD、GBP)拥有有效订阅,该货币将保留用于后续订阅。只要您没有任何有效订阅,您可以随时更改货币。
定价页面上显示的本地货币基于您 IP 地址的国家/地区,仅供参考。实际价格以 USD(美元)为单位。当您付款时,即使您在我们的网站上看到以本地货币显示的等值金额,您的卡片对账单上也会以美元显示费用。这意味着您不能直接使用本地货币付款。
有时,银行可能会因其欺诈保护设置而拒绝收费。我们建议您首先联系您的银行,检查他们是否阻止了我们的收费。此外,您可以访问账单门户并更改关联的卡片以进行付款。如果这些方法不起作用并且您需要进一步帮助,请通过 [email protected]
价格由月度或年度订阅决定,具体取决于所选计划。
API 调用根据成功请求从您的计划中扣除。每个计划都包含您每月可以进行的特定数量的调用。只有成功的调用(由状态 200 响应指示)才会计入您的总数。这确保失败或不完整的请求不会影响您的月度配额。
Zyla API Hub 采用月度订阅系统。您的计费周期将从您购买付费计划的那一天开始,并在下个月的同一日期续订。因此,如果您想避免未来的费用,请提前取消订阅。
要升级您当前的订阅计划,只需转到 API 的定价页面并选择您要升级到的计划。升级将立即生效,让您立即享受新计划的功能。请注意,您之前计划中的任何剩余调用都不会转移到新计划,因此在升级时请注意这一点。您将被收取新计划的全部金额。
要检查您本月剩余多少 API 调用,请参考响应标头中的 "X-Zyla-API-Calls-Monthly-Remaining" 字段。例如,如果您的计划允许每月 1,000 个请求,而您已使用 100 个,则响应标头中的此字段将显示 900 个剩余调用。
要查看您的计划允许的最大 API 请求数,请检查 "X-Zyla-RateLimit-Limit" 响应标头。例如,如果您的计划包括每月 1,000 个请求,此标头将显示 1,000。
"X-Zyla-RateLimit-Reset" 标头显示您的速率限制重置之前的秒数。这告诉您何时您的请求计数将重新开始。例如,如果它显示 3,600,则意味着还有 3,600 秒直到限制重置。
是的,您可以随时通过访问您的账户并在账单页面上选择取消选项来取消您的计划。请注意,升级、降级和取消会立即生效。此外,取消后,您将不再有权访问该服务,即使您的配额中还有剩余调用。
您可以通过我们的聊天渠道联系我们以获得即时帮助。我们始终在线,时间为上午 8 点至下午 5 点(EST)。如果您在该时间之后联系我们,我们将尽快回复您。此外,您可以通过 [email protected]
为了让您有机会在没有任何承诺的情况下体验我们的 API,我们提供 7 天免费试用,允许您免费进行最多 50 次 API 调用。此试用只能使用一次,因此我们建议将其应用于您最感兴趣的 API。虽然我们的大多数 API 都提供免费试用,但有些可能不提供。试用在 7 天后或您进行了 50 次请求后结束,以先发生者为准。如果您在试用期间达到 50 次请求限制,您需要"开始您的付费计划"以继续发出请求。您可以在个人资料中的订阅 -> 选择您订阅的 API -> 定价标签下找到"开始您的付费计划"按钮。或者,如果您在第 7 天之前不取消订阅,您的免费试用将结束,您的计划将自动计费,授予您访问计划中指定的所有 API 调用的权限。请记住这一点以避免不必要的费用。
7 天后,您将被收取试用期间订阅的计划的全额费用。因此,在试用期结束前取消很重要。因忘记及时取消而提出的退款请求不被接受。
当您订阅 API 免费试用时,您可以进行最多 50 次 API 调用。如果您希望超出此限制进行额外的 API 调用,API 将提示您执行"开始您的付费计划"。您可以在个人资料中的订阅 -> 选择您订阅的 API -> 定价标签下找到"开始您的付费计划"按钮。
付款订单在每月 20 日至 30 日之间处理。如果您在 20 日之前提交请求,您的付款将在此时间范围内处理。
服务级别:
91%
响应时间:
2,513ms
服务级别:
100%
响应时间:
0ms
服务级别:
100%
响应时间:
1,852ms
服务级别:
100%
响应时间:
3,190ms
服务级别:
100%
响应时间:
0ms
服务级别:
100%
响应时间:
1,852ms
服务级别:
100%
响应时间:
1,852ms
服务级别:
100%
响应时间:
1,529ms
服务级别:
97%
响应时间:
616ms
服务级别:
100%
响应时间:
748ms
服务级别:
100%
响应时间:
18,491ms
服务级别:
100%
响应时间:
748ms
服务级别:
100%
响应时间:
18,491ms
服务级别:
100%
响应时间:
1,852ms
服务级别:
100%
响应时间:
18,491ms
服务级别:
100%
响应时间:
18,491ms
服务级别:
100%
响应时间:
18,491ms
服务级别:
100%
响应时间:
3,190ms
服务级别:
100%
响应时间:
1,858ms
服务级别:
100%
响应时间:
1,583ms