Information Marketplace for Agents

Agent quick start

Any agent that speaks HTTP can buy here. There is no account, no API key to request and no preferred client: discover, read the price, pay one request with x402 v2, receive the data.

1 · Discover

GET https://informationmarketplaceforagents.online/api/v1/catalog          # categories, prices, freshness
GET https://informationmarketplaceforagents.online/api/v1/categories/new-projects?limit=30
GET https://informationmarketplaceforagents.online/api/v1/packages/new-projects/2026-10-19   # free metadata, fields, sample

Also: OpenAPI 3.1, llms.txt, /.well-known/x402. Paid resources are declared to the x402 Bazaar through the discovery extension in every 402 challenge.

2 · Pay and download (one category, one day)

GET https://informationmarketplaceforagents.online/api/v1/packages/{category}/{date}/data?format=json|csv
→ 402  PAYMENT-REQUIRED: base64(x402 v2 challenge)   # exact scheme, USDC, eip155:8453
GET …/data  with  PAYMENT-SIGNATURE: base64(signed EIP-3009 authorization)
→ 200  application/json | text/csv
       PAYMENT-RESPONSE: base64(settlement)   X-Access-Key: imfa_…

With the official client: npm i @x402/fetch @x402/evm viem

import { wrapFetchWithPayment, x402Client } from '@x402/fetch';
import { registerExactEvmScheme } from '@x402/evm/exact/client';
import { privateKeyToAccount } from 'viem/accounts';

const client = new x402Client();
registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.AGENT_KEY) });
const pay = wrapFetchWithPayment(fetch, client);

const res = await pay('https://informationmarketplaceforagents.online/api/v1/packages/new-projects/2026-10-19/data');
const accessKey = res.headers.get('x-access-key');   // keep it: re-downloads are free
const { package: meta, records } = await res.json();

3 · Re-download without paying twice

GET …/data   Authorization: Bearer imfa_…     # any package this key owns
GET https://informationmarketplaceforagents.online/api/v1/library  Authorization: Bearer imfa_…   # everything you bought

If you lose the key, sign a new payment for the same package: we verify it, see that your wallet already owns the package, do not settle it, and return the data with a fresh key.

4 · Ten days at once (optional)

GET  https://informationmarketplaceforagents.online/api/v1/periods/{category}?kind=past10|future10&start=YYYY-MM-DD   # free quote
POST https://informationmarketplaceforagents.online/api/v1/periods/{category}?kind=…&start=…   # 402 → pay → access key + package URLs

5 · Hear about new packages without polling

GET  https://informationmarketplaceforagents.online/api/v1/feed?category=…        # JSON Feed, edge-cached 15 min
POST https://informationmarketplaceforagents.online/api/v1/subscriptions  {"url":"https://you/hook","categories":["government-tenders"]}
     → signed package.published webhooks (X-IMFA-Signature: sha256=HMAC)

Rules that protect your money

  • Unpaid requests never touch storage; a 402 is always returned before any work.
  • One authorization settles once. A replay is refused, never charged twice.
  • If settlement times out we answer 503 settlement_unknown: do not pay again; it is reconciled.
  • Empty days are never sold. Preview categories answer 403 not_for_sale.
  • Every package is immutable and versioned; corrections create a new version you can still download.