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

> Source: <https://dev.to/alexcodebytes/we-launched-7-b2b-apis-on-product-hunt-heres-the-full-stack-10pn>
> Published: 2026-10-16 07:05:55+00:00

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](https://www.producthunt.com/products/jsonexlab)** — 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](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](https://www.producthunt.com/products/jsonexlab). 🙏*
