# Boring API > Small, deterministic analysis APIs for tabular business data: supplier price list > comparison, PDF table extraction and product feed validation. Open to use with a rate > limit; an optional API key (header X-API-Key) raises it. Answers carry source > locations and a quality level; uncertain values are reported as could_not_determine > instead of being guessed. Responses are English; codes are language-neutral. - OpenAPI: https://api.relaex-engineers.de/openapi.json - MCP (Streamable HTTP, stateless, no auth): https://api.relaex-engineers.de/mcp - Health: https://api.relaex-engineers.de/health - API catalog (RFC 9727): https://api.relaex-engineers.de/.well-known/api-catalog - Engine version: 0.4.0 - Connect to Claude or ChatGPT, example prompts and files: https://api.relaex-engineers.de/connect - Privacy policy: https://api.relaex-engineers.de/privacy ## Passing files MCP tools take each file as one of: a file uploaded in ChatGPT (openai/fileParams), a public URL (Google Drive, Google Sheets and Dropbox share links work), CSV/TSV text for small tables, or Base64. REST endpoints take multipart uploads or a `_url` form field (e.g. old_file_url). Only public URLs are fetched; files are never stored. Example files: https://api.relaex-engineers.de/examples/supplier-old.csv, https://api.relaex-engineers.de/examples/supplier-new.csv, https://api.relaex-engineers.de/examples/tables.pdf, https://api.relaex-engineers.de/examples/feed-google.csv. ## Input languages Column headers and common cell words are recognised in English, German, French, Spanish, Italian, Portuguese, Dutch, Polish, Czech, Turkish, Swedish, Danish, Norwegian, Finnish, Korean, Japanese and Chinese; numbers in both 1.234,56 and 1,234.56 style; any ISO 4217 currency (no conversion). ## Products ### Supplier Price Intelligence (available) Compares two supplier price lists (old vs. new) per SKU: the real unit price change after normalising price, currency, pack size and price basis, new and removed items, availability changes, across-the-board increases with outliers, review priority per finding and optional cost impact from an annual demand file. - Endpoint: POST https://api.relaex-engineers.de/v1/supplier/compare - MCP tool: supplier_compare - Input: CSV, XLSX, DATANORM 4/5 or text-based PDF; multipart old_file, new_file, optional usage_file and options (JSON). Column headers and common cell words are recognised in English, German, French, Spanish, Italian, Portuguese, Dutch, Polish, Czech, Turkish, Swedish, Danish, Norwegian, Finnish, Korean, Japanese and Chinese; numbers in both 1.234,56 and 1,234.56 style; any ISO 4217 currency (no conversion). - Limits: 20 MiB per file, 250,000 rows, 60 s; JSON or XLSX report. - Example: `curl -F old_file=@old.xlsx -F new_file=@new.xlsx https://api.relaex-engineers.de/v1/supplier/compare` - Page: https://api.relaex-engineers.de/supplier ### PDF Tables (available) Extracts tables from text-based PDFs with page, bounding box and a quality level per table; detects header rows, titles and footnotes, merges tables continued across pages only with evidence; returns JSON or the best table as CSV. - Endpoint: POST https://api.relaex-engineers.de/v1/documents/tables - MCP tool: documents_tables - Input: Multipart file (PDF up to 20 MiB and 60 pages), optional options (JSON): pages, strategy lines|text|auto, include_cells, output json|csv, table_id. Works for any language and script with embedded text. - Limits: 90 s per document; scanned pages without text are reported as OCR_REQUIRED. - Example: `curl -F file=@price-list.pdf https://api.relaex-engineers.de/v1/documents/tables` - Page: https://api.relaex-engineers.de/documents ### Product Feed Validator (available) Validates product feeds against Google Merchant Center, Shopify product CSV and Meta Commerce Catalog: required fields, allowed values with a hint for localized synonyms, GTIN check digit, price format, URLs, lengths, duplicate IDs, Shopify variants. Each issue names row, column, rule code and a fix hint; nothing is changed automatically. - Endpoint: POST https://api.relaex-engineers.de/v1/merchant/validate - MCP tool: merchant_validate - Input: Multipart file (CSV, TSV, XLSX up to 20 MiB) and optional options (JSON): profile google_merchant|shopify_products_csv|meta_catalog, sheet, column_overrides, max_issues. Column headers and common cell words are recognised in English, German, French, Spanish, Italian, Portuguese, Dutch, Polish, Czech, Turkish, Swedish, Danish, Norwegian, Finnish, Korean, Japanese and Chinese; numbers in both 1.234,56 and 1,234.56 style; any ISO 4217 currency (no conversion). - Limits: 250,000 rows, 60 s; the issue list is capped at max_issues (default 5,000), counters stay complete. - Example: `curl -F file=@feed.csv -F profile=google_merchant https://api.relaex-engineers.de/v1/merchant/validate` - Page: https://api.relaex-engineers.de/merchant ## Error format `{"error": {"code": "...", "message": "...", "request_id": "req-...", "details": {}}}` ## Privacy Files are processed in memory and not stored. Usage is counted per call (product, rows, duration, status) with hashed IP addresses; file contents are never logged.