DEV Community

Oleksandr
Oleksandr

Posted on

We launched 7 B2B APIs on Product Hunt — here's the full stack

We just launched JSONexLab on Product Hunt — a suite of 7 B2B APIs for trade, finance, and compliance. Free tier on everything.

👉 JSONexLab on Product Hunt — would love your feedback!

What we built

After ~9 days of aggressive sprint, here's the full set:

  1. HS Codes Classifier — AI classification for customs (75.5% HS2 accuracy, beats GPT-4o-mini baseline)
  2. Compliance Engine — sanctions screening (OFAC / UK / EU / UN + 11.7K PEP + 20K GLEIF entities, 33K+ sanctions records)
  3. Docs-to-JSON — document extraction (invoices, receipts, contracts) in ~2 seconds
  4. Finance Validators — IBAN / VAT / SWIFT / LEI / Card validation
  5. Watch Engine — currency rates, VAT rates, tariff rates (203 monitors)
  6. Creator Engine — promise extraction from contracts, NDAs, legal docs
  7. ScopeGuard — sanctions scope monitoring with webhook alerts

Plus 5 MCP servers on the official Model Context Protocol Registry:

  • document-to-json-mcp
  • watch-engine-mcp
  • compliance-engine-mcp
  • creator-engine-mcp
  • scopeguard-mcp (v1.0.1, published today)

The stack

  • Cloudflare Workers — every API runs at the edge
  • D1 (SQLite) — for compliance records
  • KV — for caching
  • R2 — raw data storage (OFAC XML ~29 MB, UK OFSI CSV)
  • Pages — static frontend
  • Git-driven deploy — git push → live in 30 sec
  • x402 payments — USDC on Base ($0.01–$0.05 per call)

Architecture notes

Sanctions ingestion pipeline (GitHub Actions → Worker):

  1. GitHub Actions cron runs daily at 01:00 UTC
  2. Fetch OFAC XML from sanctionslistservice.ofac.treas.gov
  3. Upload raw XML to R2 (compliance-raw bucket)
  4. POST /cron/parse/ofac on Cloudflare Worker
  5. Worker reads R2 in chunks
  6. Parse XML → normalize names → UPSERT into D1
  7. /health/ingestion endpoint reflects status

Why GitHub Actions for fetch? Cloudflare Workers get HTTP 525 from Treasury's Akamai-fronted endpoints (SSL handshake fails between CF IP range and Treasury). GitHub runners don't have this issue. So fetch lives in GitHub, parse lives in Worker.

Name normalization: NFD Unicode decomposition → strip diacritics → transliterate Cyrillic → strip legal suffixes (LLC, GmbH, OJSC, etc.) → lowercase tokens. Boosts fuzzy match precision without ML.

SEO

1018 auto-generated SEO pages via static site gen. Each product gets:

  • Landing page
  • Comparison pages
  • Use case pages
  • Country-specific variants (for HS codes)

Plus 5 MCP servers in official registry = high-intent keyword coverage.

Free tier

Everything has a free tier:

  • 50 calls/day per API
  • No credit card
  • API key by email

Try it

🔗 https://jsonexlab.com

Feedback welcome — especially if you build B2B compliance or trade tooling. What's missing? What would you pay for?


This article is part of the JSONexLab Product Hunt launch day. If this looks useful, please consider upvoting on PH. 🙏

Top comments (1)

Collapse
 
alexcodebytes profile image
Oleksandr •

Quick links for anyone who wants to dig deeper:

🔗 Live site: jsonexlab.com

🔗 Product Hunt (launching today): producthunt.com/products/jsonexlab

🔗 MCP Registry (5 servers):
registry.modelcontextprotocol.io/v...

🔗 Compliance Engine stats:
compliance-engine.boring-saas-infr...

🔗 Source code:
• github.com/Alex-Dev-Web-C-DE/compl...
• github.com/Alex-Dev-Web-C-DE/scope...

Try the free tier: 50 calls/day per API, no credit card. API key by email.

Happy to answer any technical questions about:

  • Cloudflare Workers + D1 at the edge
  • OFAC sanctions ingestion pipeline (GitHub Actions → R2 → Worker)
  • Name normalization without ML
  • x402 payments (USDC on Base)
  • Building 5 MCP servers in 9 days

What would you want to see next?