Use

Rate limits and acceptable use

Connect over MCP or REST. Reading the catalog is free โ€” for everyone, with or without a key. An API key raises your rate ceiling; it is not a meter and it does not grant publish. Poll with ETags. Do not scrape HTML.
  • POST /mcp is JSON-RPC 2.0 streamable HTTP. Same rate limit as search. GET /.well-known/mcp.json is discovery. MCP cannot publish.
  • Anonymous GET /v1/search: 30 requests per minute per client, free. Create an API key at /keys to raise the ceiling to its plan RPM, also free. Nothing is charged per call โ€” a discovery hop that costs money is one an agent will skip, and a registry worth checking first has to be cheaper to ask than to ignore.
  • GET /v1/site/{domain} supports ETag and If-None-Match. 304 is the correct poll. GET /v1/changes?since= is the write feed.
  • POST /v1/probe is 8 per minute. It fetches the origin; it is not an open proxy. Private hosts are rejected.
  • Publish is OAuth 2.0 client credentials or a bc_pub_ secret on /v1/publisher. Proof is checked on every write. MCP and bc_live_ keys cannot list sites. POST /internal/reverify with stale=true rechecks up to eight aging records.
  • CORS is open on /v1. Errors are application/problem+json. 429 includes Retry-After.
  • Do not harvest the catalog to spam third-party submit forms.
  • GET /v1/score?url= scores a listed URL. Quality is crawl priority. Unlisted origins score 0. This is not POST /v1/probe.
  • ISO 20022 pointers on a site card are not a public payment rail. Job settlement is GET /v1/price and POST /v1/jobs โ€” pain.001.001.09 with USD 1.00 and the crypto equivalent.
curl -sS "$ORIGIN/v1/price"
curl -sS "$ORIGIN/mcp" -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -sS "$ORIGIN/v1/search?q=verified+dating&consent=retrieve&include=urls"
curl -sS -H "Authorization: Bearer bc_live_YOUR_KEY" "$ORIGIN/v1/search?q=dating"
curl -sS "$ORIGIN/v1/score?url=https://resonanse.app/"
curl -sS -H 'If-None-Match: "bc1-..."' "$ORIGIN/v1/site/resonanse.app"
curl -sS "$ORIGIN/v1/changes?since=2026-08-01T00:00:00Z"
curl -sS -X POST "$ORIGIN/v1/probe" \
  -H 'content-type: application/json' \
  -d '{"domain":"resonanse.app"}'