{
  "product": "CrateAPI",
  "summary": "One API for EU and international invoice formats: generate and validate Peppol BIS, XRechnung (DE), Factur-X/BR-FR (FR), RO_CIUS (RO), FatturaPA (IT), Facturae (ES), FA_VAT/KSeF (PL), EHF (NO), NLCIUS (NL) and PINT Billing EU (international, OpenPeppol) from a single key - 9 national/international formats plus pan-EU Peppol. Convert and render ship today on the shared EN 16931/CII core (Peppol BIS, XRechnung, Factur-X, RO_CIUS); render for FatturaPA, Facturae and KSeF is next (convert does not apply to these three national terminal formats by design), and convert/render for EHF, NLCIUS and PINT Billing EU (added 2026-08-15) are next too - those three currently ship generate + validate only. Plus a small utility API portfolio (PDF, screenshot, email validation, content extraction). Not a transmission pipe or Peppol Access Point.",
  "llms_txt": "https://crateapi.com/llms.txt",
  "coverage_matrix": {
    "generate": ["peppol", "xrechnung", "facturx", "ro_cius", "facturapa", "facturae", "ksef", "ehf", "nlcius", "pint"],
    "validate": ["peppol", "xrechnung", "facturx", "ro_cius", "facturapa", "facturae", "ksef", "ehf", "nlcius", "pint"],
    "convert": ["peppol", "xrechnung", "facturx", "ro_cius"],
    "convert_not_applicable": ["facturapa", "facturae", "ksef"],
    "convert_roadmap": ["ehf", "nlcius", "pint"],
    "render": ["peppol", "xrechnung", "facturx", "ro_cius"],
    "render_roadmap": ["facturapa", "facturae", "ksef", "ehf", "nlcius", "pint"],
    "note": "convert and render run on the shared EN 16931/CII engine (Peppol/UBL, XRechnung, Factur-X, RO_CIUS). FatturaPA, Facturae and FA_VAT/KSeF have their own schema: generate + validate (XSD-structural pre-flight) are live today, render support is next (roadmap), and convert does not apply - these are national terminal formats (filed only through SDI/FACe/KSeF) and are not meant to convert to or from UBL/CII. EHF (Norway), NLCIUS (Netherlands) and PINT Billing EU (international, OpenPeppol) were added 2026-08-15: generate + validate are live and tested; convert/render are not yet implemented/tested for these three profiles (roadmap). EHF is officially identical to Peppol BIS Billing 3.0 (no own rules, per Digdir/anskaffelser.dev 2025-10-17)."
  },
  "apis": [
    {
      "name": "E-Invoicing API",
      "product_page": "https://crateapi.com/products/e-invoicing/",
      "base_url": "https://api.crateapi.com/v1",
      "openapi": "https://api.crateapi.com/openapi.json",
      "docs_ui": "https://api.crateapi.com/docs",
      "auth": {"header": "X-API-Key", "get_key": "https://crateapi.com/pricing/"},
      "free_endpoints": ["/validate/ubl", "/validate/cii", "/validate/facturapa", "/validate/facturae",
        "/validate/ksef", "/pdfa/validate", "GET /validator"],
      "billable_endpoints": ["/generate/ubl", "/generate/cii", "/generate/facturx",
        "/generate/facturx/embed", "/generate/facturapa", "/generate/facturae", "/generate/ksef",
        "/generate/orderx", "/convert/ubl-to-cii", "/convert/cii-to-ubl",
        "/render/html", "/render/pdf", "/pdfa/convert", "/repair/ubl", "/repair/cii"],
      "profiles": ["en16931", "peppol", "xrechnung", "ro", "fr", "fr-extended", "ehf", "nlcius", "pint"],
      "proprietary_formats": {
        "facturapa": "Italy - TD01/TD04/TD05 + Natura codes, XSD-structural validation only",
        "facturae": "Spain - standard EUR invoices v1, XSD-structural validation only, unsigned (XAdES at client)",
        "ksef": "Poland FA_VAT - pre-flight only, CrateAPI does not submit to KSeF or issue a NrKSeF"
      },
      "pricing": [
        {"plan": "Free Sandbox", "price_eur_month": 0, "quota": "unlimited validation (fair use) + 50 watermarked renders/month (max 5/day)"},
        {"plan": "Starter", "price_eur_month": 9, "quota": "250 invoices/month"},
        {"plan": "Basic", "price_eur_month": 29, "quota": "1200 invoices/month"},
        {"plan": "Pro", "price_eur_month": 59, "quota": "4000 invoices/month"},
        {"plan": "Ultra", "price_eur_month": 149, "quota": "12000 invoices/month"},
        {"plan": "Enterprise", "price_eur_month": "custom", "quota": "above 12000 invoices/month"}
      ],
      "annual_billing_discount": "20%",
      "mcp_server": {
        "landing_page": "https://crateapi.com/mcp/",
        "tools": ["validate_invoice", "repair_invoice", "generate_invoice", "convert_invoice"],
        "hosted": {
          "endpoint": "https://api.crateapi.com/mcp",
          "transport": "streamable-http",
          "auth": "X-API-Key header (validate_invoice works without one; the other three need a key)",
          "note": "validating without a key is fair-use rate-limited per IP, same limits as free validation on this site"
        },
        "self_hosted": {
          "run": "python -m einvoicing.mcp_server",
          "env": {"EINVOICE_API_KEY": "your API key", "EINVOICE_API_BASE": "optional override, default https://api.crateapi.com/v1"}
        }
      }
    },
    {
      "name": "Document Tools API",
      "base_url": "https://api.crateapi.com",
      "openapi": ["https://api.crateapi.com/pdf/openapi.json", "https://api.crateapi.com/screenshot/openapi.json",
        "https://api.crateapi.com/email/openapi.json", "https://api.crateapi.com/extract/openapi.json"],
      "auth": {"via": "X-API-Key header, free key at https://crateapi.com/#account", "note": "paid plans open at launch - join the list"},
      "try_it_live": "https://crateapi.com/products/",
      "sub_apis": [
        {"name": "PDF API", "path": "/pdf", "product_page": "https://crateapi.com/products/pdf/", "endpoints": ["merge", "split", "watermark", "protect", "compress", "to-images", "extract-text", "metadata"]},
        {"name": "Screenshot API", "path": "/screenshot", "product_page": "https://crateapi.com/products/screenshot/", "endpoints": ["take (block_ads, block_trackers, block_cookie_banners, cache_ttl params)"]},
        {"name": "Email Verification API", "path": "/email", "product_page": "https://crateapi.com/products/email-verification/", "endpoints": ["validate", "validate-batch", "validate-bulk (CSV upload)"]},
        {"name": "Article Extraction API", "path": "/extract", "product_page": "https://crateapi.com/products/article-extraction/", "endpoints": ["article", "extract-html"]}
      ],
      "pricing": [
        {"plan": "Free", "price_eur_month": 0, "quota": "100 requests/month"},
        {"plan": "Pro", "price_eur_month": 14.90, "quota": "10000 requests/month"},
        {"plan": "Ultra", "price_eur_month": 39.90, "quota": "50000 requests/month"}
      ]
    }
  ],
  "reference_pages": {
    "api_docs": "https://crateapi.com/docs/",
    "products_hub": "https://crateapi.com/products/",
    "error_codes": "https://crateapi.com/errors/",
    "france_compliance": "https://crateapi.com/plateforme-agreee/",
    "mandate_tracker": "https://crateapi.com/mandate-tracker/",
    "compare_invoicexml": "https://crateapi.com/compare/invoicexml/",
    "ksef_poland": "https://crateapi.com/ksef/",
    "status": "https://crateapi.com/status/",
    "pricing": "https://crateapi.com/pricing/"
  }
}
