402utils

active

pay-per-call API utilities

Micro API utilities for AI agents and apps, priced per call and paid in USDC over the x402 protocol. Every endpoint returns HTTP 402 with x402 payment requirements; pay and retry to get the result. No signup, no API keys.

DataBasex402 v2exact402utils.com ↗︎

Settled via Coinbase.

Transactions · 30d
76
Volume · 30d
$0.145
Unique buyers · 30d
19
Uptime · 30d
91.0%
Latency p50
13ms
Reported calls · 30d
61

Endpoints (96 live)

  • GET /v1/phone-check — Validate and normalize a phone number with full Google libphonenumber metadata: strict validity against each national numbering plan, E.164 / international / national formats, country detection (correct across shared codes like +1 and +44) and line type (mobile, fixed_line, toll_free, voip…) where the plan distinguishes it. Pass ?country=FR to parse national formats. Local. ?attest=1 → Ed25519-signed. (0.002 USDC on Base)
  • POST /v1/yaml — Convert between YAML and JSON in one call. to:"json" parses a YAML document (config files, docker-compose, Kubernetes manifests, CI pipelines) into a plain JSON value; to:"yaml" renders any JSON value as clean block-style YAML. Hardened: safe core schema (tags like !!js/function never execute), alias bombs rejected, one document per call, parse errors return line/column. YAML input up to 2 MB UTF-8. (0.001 USDC on Base)
  • GET /v1/x402-quote — Enriched quote for an x402 endpoint: probes it unpaid (never pays, SSRF-checked), decodes {price, asset, network, payTo}, then compares the USD price against the live Bazaar market for its category → {marketContext:{category, medianForCategory, cheaperThanMarket}}. Not just how much, but whether it's fair. Market context is best-effort; the decoded quote returns even if the Bazaar read fails. Neutral — our own endpoints are never featured. (0.002 USDC on Base)
  • POST /v1/json-to-csv — Convert a JSON array of objects into a clean RFC 4180 CSV: header row, CRLF records, correct quoting and quote-doubling. Nested objects flatten to dot-notation columns (a.b.c), arrays are JSON-encoded into their cell, and you can select and order columns explicitly. Delimiter: comma, semicolon, tab or pipe. Caps: 100,000 rows, 5 MB body, 20 MB CSV out. Returns text/csv ready for Excel, Google Sheets or a data pipeline. (0.002 USDC on Base)
  • POST /v1/rerank — Rerank passages by relevance to a query via Cloudflare Workers AI (@cf/baai/bge-reranker-base). Send {query, documents[] (≤50, each ≤4000 chars), topK?}; returns [{index, score}] best-first — the missing link after embed/chunk, keeping the top chunks before a costly LLM call. Score is the model's relevance score (higher = better), named as it only compares within this model. Unavailable binding → 503, unbilled. (0.004 USDC on Base)
  • GET /v1/vat-oss — EU B2C e-commerce VAT: where a distance sale is taxed and how much. Applies the €10,000/year OSS threshold — at/below → seller-country VAT (domestic); above → consumer-country VAT via OSS. IOSS for imports ≤ €150. ?sellerCountry=&buyerCountry=&amount= (+ ytdCrossBorder, category). Returns scheme, taxationPlace, applicableCountry, vatRate, vatAmount. Calculation aid; OSS/IOSS registration and filing are the seller's responsibility. (0.002 USDC on Base)
  • GET /v1/wallet-name — Resolve a Basename or ENS name to an address, or an address to its primary name. Pass ?name=402utils.base.eth (name→address) or ?address=0x… (address→primary name). Basenames resolve on Base L2, other .eth names on Ethereum mainnet. Reverse results are forward-verified. ASCII names only; offchain (CCIP-read) resolvers like cb.id are not supported. (0.002 USDC on Base)
  • POST /v1/embed — Text → vector embeddings via Cloudflare Workers AI. Send {text} or {texts[]} (≤20, each ≤4000 chars); returns one float vector per input. Default model @cf/baai/bge-m3 (1024-dim, multilingual). The model is named in the response — embeddings only compare within the same model. Completes the RAG chain: readability → chunk → embed, no OpenAI account. Cosine-compare the vectors yourself. Unavailable model/binding → 503, not billed. (0.004 USDC on Base)
  • GET /v1/fx-rates — Daily euro FX reference rates from the European Central Bank. ?base (default EUR), ?quote for a single rate, ?date=YYYY-MM-DD for history (last 90 ECB business days; older dates 404). Non-EUR bases are cross-rates derived via EUR (quote-per-EUR ÷ base-per-EUR). Weekend/holiday dates resolve to the last published ECB day — the date field says which. Published ~16:00 CET on ECB business days; informational rates, not for transaction pricing. (0.001 USDC on Base)
  • POST /v1/keywords — Extract salient keywords/key-phrases from text via TextRank (word co-occurrence graph + PageRank), merging adjacent high-ranked words into phrases. Pure, deterministic, model-free — extractive, NOT ML/NER or an LLM (the point: reproducible, no inference cost). English + French stopwords removed. Returns keywords[] with normalized scores (top ≈ 1). For content tagging/indexing and pre-RAG. Over 100k tokens is truncated. (0.002 USDC on Base)
  • POST /v1/diff — Compute the diff between two texts (a → b) — no git needed. Returns a standard unified patch (line-oriented in both modes, applies with git apply or patch), added/removed counts, and in word mode a token-level change list for inline highlighting (capped at 2000 entries). CRLF line endings and missing trailing newlines are preserved byte-exactly. Caps: 1 MB UTF-8 per input; pathologically divergent inputs return 422 diff_too_complex. (0.002 USDC on Base)
  • POST /v1/xml-to-json — Convert XML to clean JSON. POST raw XML (XML or text/plain Content-Type) or a JSON envelope {xml, alwaysArray}. Attributes land under "@_" keys, mixed-content text under "#text", repeated siblings become arrays, and alwaysArray forces arrays for listed tags even on a single occurrence. Numeric character references decode. DTD entities and DOCTYPE internal subsets rejected (anti-XXE / billion-laughs). Max 5 MB. (0.002 USDC on Base)
  • GET /v1/timezone-convert — Convert a datetime between any two IANA time zones using the runtime's ICU tzdb — always current, DST-correct, half-hour zones included. A datetime without offset is read as wall time in `from` (ambiguous fall-back times resolve to the earlier instant; times skipped by spring-forward shift ahead, flagged in `note`). Returns both ISO datetimes with offsets and DST status per side. Unknown zone → 400 with a spelling suggestion. (0.001 USDC on Base)
  • POST /v1/qr — Generate a QR code as PNG or SVG from any text or URL. Pick the size, error-correction level (L/M/Q/H) and foreground/background colours; a 4-module quiet zone is always included so it scans reliably. Returns the raw image bytes. No logo overlay (compositing is out of scope). (0.002 USDC on Base)
  • GET /v1/domain-check — Domain availability and expiry intelligence via RDAP, the WHOIS successor. Queries the authoritative registry for any RDAP-enabled TLD: free domains return registered:false, taken ones return registrar, creation and expiry dates, nameservers and EPP status codes. TLDs without RDAP coverage return supported:false. Built for agents that buy, monitor or vet domains. (0.002 USDC on Base)
  • POST /v1/hash — Compute cryptographic hashes / checksums of a string or of raw bytes (base64). Returns lowercase hex for each requested algorithm: sha256 (default), sha512, sha1, md5. SHA via native Web Crypto; md5 and sha1 are offered for legacy interop only and flagged — not for security. POST so the input never lands in a URL/log. Verification/checksums only, not a hash cracker. (0.001 USDC on Base)
  • POST /v1/pdf — Render HTML or a public web page into a pixel-perfect PDF using a headless Chrome browser. Send inline `html` (invoices, receipts, reports, tickets) or a `url` to snapshot; control paper size, orientation, margins, background graphics and scale. Returns the raw application/pdf bytes — no signup, no browser to run, pay per document. (0.01 USDC on Base)
  • GET /v1/cron-next — Next occurrences of a cron expression in any IANA time zone, DST-aware via the runtime's ICU tzdb (times skipped by DST shift forward by the gap; ambiguous times fire once). Dialect (croner): 5-7 fields with optional seconds and year, ranges, steps, lists, JAN-DEC/SUN-SAT names, L, W, #, ? and @daily-style aliases. Each occurrence is returned as local ISO with offset plus UTC. Bad expression → 400 naming the offending field. (0.002 USDC on Base)
  • GET /v1/color — Colour utilities: ?op=convert (default) turns any hex/rgb()/hsl()/CSS-name into hex, rgb, hsl, hsv, alpha, relative luminance and exact CSS name; ?op=contrast with ?fg=&bg= returns the WCAG 2.x contrast ratio and AA/AAA pass/fail for normal & large text plus UI components (accessibility / EAA); ?op=palette derives complementary, analogous, triadic, tints and shades. Send hex without '#'. (0.001 USDC on Base)
  • GET /v1/iban-check — Validates IBANs and checks their format and country details. (0.001 USDC on Base)

+76 more endpoints.

First seen · last seen · last active