Pay-per-call JSON APIs and public Apify Actors for company data, identifiers, official French property records, and everyday web utilities. No account. No API key.
Call any paid path without a payment header. The gateway returns HTTP 402 and a JSON x402 v2 challenge. Then retry with an x402 client that signs and attaches the payment.
curl -sS -D - "https://x402-gateway.forge-x402.workers.dev/api/iban?iban=FR7630006000011234567890189"
Expect HTTP/2 402 and a body with accepts[].amount (atomic USDC, 6 decimals), payTo and network: "eip155:8453" (Base).
import { wrapFetchWithPaymentFromConfig } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm";
import { privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(process.env.EVM_PRIVATE_KEY);
const fetchWithPayment = wrapFetchWithPaymentFromConfig(fetch, {
schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(account) }],
});
const res = await fetchWithPayment(
"https://x402-gateway.forge-x402.workers.dev/api/iban?iban=FR7630006000011234567890189"
);
console.log(await res.json());Use @x402/fetch with @x402/evm (x402 v2). Keep the private key in an environment variable. The same pattern works in Python (see the client examples repository) or by retrying the curl with a PAYMENT-SIGNATURE header.
Read llms.txt or catalog.json, fetch /.well-known/x402 for prices in atomic units, or attach openapi.json. The MCP server speaks Streamable HTTP at https://x402-gateway.forge-x402.workers.dev/mcp.
Each path accepts GET or POST. A first request without a payment header returns HTTP 402 and an accepts[] challenge. Retry with PAYMENT-SIGNATURE or X-PAYMENT. See the payment notes. payment notes.
A sample of the 14 paid paths. All prices are per call, in USDC on Base.
French company lookup (SIREN/SIRET/name) from the official open-data Sirene base (recherche-entreprises.
EU VAT number validation against the European Commission VIES service, with normalised output (valid, name, address).
IBAN validation (ISO 13616 mod-97 checksum + per-country length), returns normalised IBAN, country and BBAN.
Fetch a public web page and return clean Markdown (scripts/styles/nav stripped) plus title.
French address geocoding and normalisation via the official Base Adresse Nationale (api-adresse.
Official public holidays for a country and year (100+ countries, Nager.
Batch-oriented versions of the same official sources, plus a Google Sheets sync. Each card links to its public store page and lists the priced events.
Bulk Swiss UID/VAT (MWST/TVA/IVA) validation and company lookup against the official federal UID register. Detects VAT groups, checks the check digit offline, and redacts sole-proprietor names by default.
For a list of French addresses or coordinates, returns median, P25 and P75 €/m² from official DVF sales (apartments and houses separately), with an optional value range for a given surface. Alsace-Moselle and Mayotte are flagged and not charged.
Batch check of SIREN/SIRET/FR-VAT numbers against official BODACC notices: insolvency stage and history, strike-off, late accounts, business sales, and an explained risk level. Sole traders are masked by default.
Import, export, append and upsert Google Sheets rows with a service account (no OAuth expiry). The buyer provides their own key. Cell values default to RAW to reduce formula injection risk.
Intended rule: every 10 settled paid calls from the same payer address earn 1 credit, redeemable as one free call. A read endpoint exists at GET /loyalty/{address}, but the x402 gateway runs on another account and does not feed this ledger, so balances stay at zero. This is not a live credits programme.
Submit a short proposal. A small SHA-256 proof of work, solved in the browser, slows spam. It is not a fee, and it does not mean the tool will be built.