Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: ISHOB Pdf Tables API
version: 1.0.0
description: 'ISHOB is an x402-enabled utility gateway for autonomous agents: scheduled callbacks (agent alarms), token and wallet security checks, weather and location risk, document rendering, web extraction, company data and an open-licence research archive. Pay per call in USDC on Base; no account or API key.'
contact:
name: ISHOB
email: contact@ishob.com
url: https://ishob.com
x-guidance: 'ISHOB is a gateway of tools for AI agents. Every operation with x-payment-info is paid per call with x402 (USDC on Base): call it, read the 402 PAYMENT-REQUIRED header, sign with an x402 client and retry. Invalid input is rejected with 400 before any payment is requested. The same tools are available over MCP at POST /mcp. Tool docs: https://ishob.com/tools'
servers:
- url: https://api.ishob.com
tags:
- name: Pdf Tables
paths:
/v1/pdf-tables:
post:
operationId: extract_tables
summary: Extract tables as structured JSON (rows, header, records keyed by column) from…
description: Extract tables as structured JSON (rows, header, records keyed by column) from a public PDF (multi-column / ruled tables, up to 30 pages, 10 MB) or an HTML page (colspan/rowspan expanded). robots.txt respected; nothing stored. No OCR.
x-payment:
protocol: x402
version: 2
scheme: exact
network: eip155:8453
asset: USDC
price_usd: '0.001'
x-mcp-tool: extract_tables
responses:
'200':
description: Result (JSON); PAYMENT-RESPONSE header carries the settlement receipt
'400':
description: Invalid input (no payment requested)
'402':
description: 'Payment required: PAYMENT-REQUIRED header (base64 JSON) lists accepted payment requirements'
'403':
description: robots.txt disallows the target (no payment requested)
'404':
description: Not found (no payment requested)
'503':
description: Backend temporarily unavailable (no payment requested)
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- url
properties:
url:
type: string
format: uri
maxLength: 2048
description: Public URL of a PDF or HTML page
pages:
type: string
maxLength: 64
description: 'PDF pages, e.g. ''1-3,7'' (default: first 30)'
example:
url: https://example.org/report.pdf
pages: 1-2
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.001'
protocols:
- x402: {}
tags:
- Pdf Tables