Route: audit
Say what you need in plain words. You get back the paid API that buyers actually pay for and that answers right now. It comes with the exact request to send and that seller's payment terms, read seconds ago, so you can pay with your first request. Free: no key, no account.
The answer
skill-audit
skill-audit: Audit text for malicious AI-skill patterns. Requires `content`. Nothing to au
POST https://eltociear-skill-audit.hf.space/audit · 0.005 USD · base
6 different buyers paid this exact route 6 times in the last 30 days (Coinbase CDP catalogue), last on 2026-10-23; answered a valid x402 402 to our check 1 s before this answer, in 104 ms
Payment terms (sign and send with the first request)
[
{
"scheme": "exact",
"network": "eip155:8453",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "5000",
"payTo": "0x5bCDA55247B238a573A968B234F788a2D35664Dd",
"maxTimeoutSeconds": 300,
"extra": {
"name": "USD Coin",
"version": "2"
}
}
]Alternative 1
skill-audit
skill-audit: Resolve a domain's DNS records (A/AAAA/MX/NS/TXT/CNAME) and flag basic email/
POST https://eltociear-skill-audit.hf.space/dns · 0.006 USD · base
6 different buyers paid this exact route 6 times in the last 30 days (Coinbase CDP catalogue), last on 2026-10-21; answered a valid x402 402 to our check 1 s before this answer, in 93 ms
Payment terms (sign and send with the first request)
[
{
"scheme": "exact",
"network": "eip155:8453",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "6000",
"payTo": "0x5bCDA55247B238a573A968B234F788a2D35664Dd",
"maxTimeoutSeconds": 300,
"extra": {
"name": "USD Coin",
"version": "2"
}
}
]Alternative 2
PageAudit
PageAudit: PageAudit: technical SEO audit of one page (score, issues, headers, JSON-LD), p
GET https://pageaudit.online/api/x402/audit · 0.02 USD · base
4 different buyers paid this exact route 5 times in the last 30 days (Coinbase CDP catalogue), last on 2026-10-25; answered a valid x402 402 to our check 1 s before this answer, in 885 ms
Payment terms (sign and send with the first request)
[
{
"scheme": "exact",
"network": "base",
"maxAmountRequired": "20000",
"resource": "https://pageaudit.online/api/x402/audit",
"description": "PageAudit: technical SEO audit of one page (score, issues, headers, JSON-LD), paid per call",
"mimeType": "application/json",
"payTo": "0x7c22D10a957c62044d03dB5C0086f500Fc645a26",
"maxTimeoutSeconds": 120,
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"outputSchema": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"url": "https://example.com/"
},
"discoverable": true
},
"inputSchema": {
"queryParams": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The page to audit, `http` or `https`."
}
},
"required": [
"url"
]
}
},
"output": {
"type": "json",
"schema": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The final URL, after redirects."
},
"score": {
"type": "integer",
"description": "0–100 for measured checks, as in `Audit.score`."
},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"severity": {
"type": "string",
"description": "Severity of the finding."
},
"code": {
"type": "string",
"description": "Stable check code, e.g. `title_missing`. It is what you filter by."
},
"message": {
"type": "string",
"description": "The finding in one sentence, ready to show a person."
}
},
"description": "A problem (or a pass) found on the page."
},
"description": "Everything found, from most to least severe."
},
"summary": {
"type": "object",
"properties": {
"finalUrl": {
"type": "string",
"description": "URL after following every redirect."
},
"status": {
"type": "integer",
"description": "Final HTTP status of the target."
},
"contentType": {
"type": "string",
"description": "Content-Type of the final response."
},
"title": {
"type": "string",
"description": "Content of `<title>`."
},
"metaDescription": {
"type": "string",
"description": "Content of `<meta name=description>`."
},
"canonical": {
"type": "string",
"description": "Canonical URL declared by the page."
},
"robots": {
"type": "string",
"description": "Content of `<meta name=robots>`."
},
"viewport": {
"type": "string",
"description": "Content of `<meta name=viewport>`."
},
"charset": {
"type": "string",
"description": "Declared encoding."
},
"lang": {
"type": "string",
"description": "Language declared in `<html lang>`."
},
"favicon": {
"type": "string",
"description": "URL of the favicon found."
},
"faviconSource": {
"type": "string",
"description": "How the favicon was found: declared or by the default path."
},
"h1s": {
"type": "array",
"items": {
"type": "string"
},
"description": "Every `<h1>` on the page, in order."
},
"openGraph": {
"type": "object",
"description": "The `og:*` tags found, key by key."
},
"twitter": {
"type": "object",
"description": "The `twitter:*` tags found."
},
"jsonLdCount": {
"type": "integer",
"description": "How many JSON-LD nodes the page had."
},
"jsonLdBlocks": {
"type": "integer",
"description": "How many `<script type=application/ld+json>` blocks existed."
},
"jsonLdErrors": {
"type": "integer",
"description": "Invalid JSON syntax or non-object root values; not full JSON-LD/schema.org validation."
},
"jsonLdDropped": {
"type": "boolean",
"description": "`true` when nodes were dropped for passing the cap."
},
"jsonLdTypes": {
"type": "array",
"items": {
"type": "string"
},
"description": "The `@type`s found, e.g. `Organization`, `WebSite`."
},
"images": {
"type": "object",
"description": "Image count and how many have no `alt`."
},
"links": {
"type": "object",
"description": "Count of internal, external and text-less links."
},
"words": {
"type": "integer",
"description": "Words in the visible content."
},
"hreflang": {
"type": "array",
"items": {
"type": "object"
},
"description": "The declared language alternates."
},
"legacy": {
"type": "object",
"description": "Old markup still present (e.g. `<font>`, layout tables)."
},
"redirects": {
"type": "array",
"items": {
"type": "object"
},
"description": "The redirect chain followed to the final URL."
},
"robotsTxt": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Where it was fetched from, after redirects."
},
"ok": {
"type": "boolean",
"description": "`true` when a text robots.txt was read."
},
"status": {
"type": "integer",
"description": "HTTP status; 0 when the fetch failed."
},
"error": {
"type": "string",
"description": "Why it was not read (`HTTP 404`, `robots.txt served as HTML`…)."
},
"sitemaps": {
"type": "array",
"items": {
"type": "string"
},
"description": "Declared `Sitemap:` lines (up to 20)."
},
"userAgents": {
"type": "array",
"items": {
"type": "string"
},
"description": "User-agent names that have groups."
},
"disallowAll": {
"type": "boolean",
"description": "`true` when the `*` group has `Disallow: /`."
},
"access": {
"type": "object",
"description": "Each crawler's decision for this URL. Absent in older reports and when the fetch failed."
}
},
"description": "The origin's `robots.txt`: status, sitemaps and each crawler's decision for this URL."
},
"sitemap": {
"type": "object",
"description": "Whether the URL appears in the sitemap the origin declares."
},
"discovery": {
"type": "object",
"properties": {
"llms": {
"type": "object",
"description": "Root llms.txt or the most specific same-origin describedby guide found on the page."
},
"security": {
"type": "object",
"description": "/.well-known/security.txt: selected RFC 9116 checks."
},
"apiCatalog": {
"type": "object",
"description": "/.well-known/api-catalog: selected RFC 9727 Linkset checks."
},
"changePassword": {
"type": "object",
"description": "/.well-known/change-password when the page uses a password field. Redirect only; the form is never submitted."
},
"assetlinks": {
"type": "object",
"description": "/.well-known/assetlinks.json when Android app association is indicated. App binary is not compared."
},
"appleApp": {
"type": "object",
"description": "/.well-known/apple-app-site-association when Apple associated domains are indicated. No redirects. Entitlements are not checked."
},
"oauthResource": {
"type": "object",
"description": "OAuth protected resource metadata when WWW-Authenticate, MCP or the well-known URL is declared. Authorization servers are not fetched."
},
"oauthServer": {
"type": "object",
"description": "/.well-known/oauth-authorization-server when this host declares itself as the issuer."
},
"openidConfig": {
"type": "object",
"description": "/.well-known/openid-configuration when this host declares OpenID Provider discovery."
},
"agentCard": {
"type": "object",
"description": "A2A Agent Card when declared. MCP identity JSON at this URL is not an A2A pass."
},
"webauthn": {
"type": "object",
"description": "/.well-known/webauthn when related origins are declared. Same-host passkeys do not need it."
},
"favicon": {
"type": "object",
"description": "HTTP status/media type of the selected favicon; no image decoding."
},
"notFound": {
"type": "object",
"description": "One randomly generated missing path, checking for 404/410 or a possible soft 404."
}
},
"description": "Selected discovery and delivery checks; optional files missing do not lower the score. Up to 15 additional GETs, concurrency 2, 8s total deadline and 64 KiB per text body."
},
"security": {
"type": "object",
"description": "HTTPS, response headers, subresource integrity, mixed content, visible library versions and form destinations."
},
"performance": {
"type": "object",
"description": "HTTP/3 advertisement, third-party response probes, render blocking, image loading and CAPTCHA signals."
},
"xRobotsTag": {
"type": "string",
"description": "The `X-Robots-Tag` response header, raw. A noindex here (general, googlebot or bingbot) raises the same `noindex` finding as the meta tag."
},
"canonicalHeader": {
"type": "string",
"description": "Canonical declared in the HTTP `Link` header (`rel=\"canonical\"`), absolute. Differing from the HTML one raises `canonical_conflict`."
},
"timing": {
"type": "object",
"description": "`responseMs`: time until the headers of the final response, redirects included, measured from our server. Over 1500 ms raises `slow_response` (info)."
},
"headings": {
"type": "object",
"description": "`order`: heading levels in document order (up to 100); `skips`: pairs where a level was jumped, e.g. `[2, 4]`."
},
"scripts": {
"type": "object",
"description": "`total` script tags and `emptyRoot`: the id of an empty app root (`root`, `__next`…) when the HTML is a JavaScript shell."
},
"crux": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "`ok`, `no_data` (too little traffic), `unverified` (quota, timeout) or `not_configured`."
},
"source": {
"type": "string",
"description": "Always `chrome-ux-report`."
},
"scope": {
"type": "string",
"description": "`url` or `origin`."
},
"key": {
"type": "string",
"description": "The URL or origin the data belongs to."
},
"period": {
"type": "object",
"description": "`first` and `last` day of the collection window."
},
"metrics": {
"type": "object",
"description": "`lcp`, `inp`, `cls`, `fcp`, `ttfb`, each with `p75`, `rating` (`good`, `needs_improvement`, `poor`) and the share of visits `good`/`needsImprovement`/`poor`."
},
"assessment": {
"type": "string",
"description": "Core Web Vitals over LCP, INP and CLS: `good`, `needs_improvement` (raises `cwv_needs_improvement`, info) or `poor` (raises `cwv_poor`, warn)."
},
"check": {
"type": "object",
"description": "`status` (`pass`, `warn`, `info` or `unverified`) and `message`, the text the report shows."
}
},
"description": "Real-user Core Web Vitals from the Chrome UX Report."
},
"lab": {
"type": "object",
"description": "On-demand lab tests (`mobile`, `desktop`), each a `LabTeste`. Absent until one is run with `POST /api/audits/:id/lab`."
}
},
"description": "What the page declares: title, meta, canonical, OG, headings, links…"
},
"counts": {
"type": "object",
"properties": {
"errors": {
"type": "integer",
"description": "Serious findings."
},
"warnings": {
"type": "integer",
"description": "Findings that deserve attention."
},
"info": {
"type": "integer",
"description": "Observations without severity."
},
"categories": {
"type": "object",
"properties": {
"security": {
"type": "object",
"description": "Passive security findings. Null when the saved audit predates these checks."
},
"performance": {
"type": "object",
"description": "Delivery and loading findings. Null when the saved audit predates these checks."
}
},
"description": "Security and performance findings for dedicated workspace badges."
}
},
"description": "How many findings of each severity."
},
"headers": {
"type": "object",
"description": "Every header of the target's response, without `Set-Cookie`."
},
"htmlTruncated": {
"type": "boolean",
"description": "`true` when the page passed 2 MB and was read only that far."
},
"jsonLd": {
"type": "array",
"items": {
"type": "object"
},
"description": "The raw JSON-LD blocks, as they were on the page."
},
"jsonLdStored": {
"type": "integer",
"description": "How many blocks survived the size cap."
},
"truncated": {
"type": "array",
"items": {
"type": "string"
},
"description": "What was cut and why. Empty means nothing was cut."
},
"_links": {
"type": "object",
"description": "`api_index`: the API catalog."
},
"cobranca": {
"type": "object",
"properties": {
"via": {
"type": "string",
"description": "`x402`, `credito` or the marketplace that already charged the call."
},
"preco_usd": {
"type": "string",
"description": "The price of the call in US dollars, such as `0.01`."
},
"repetido": {
"type": "boolean",
"description": "`true` when the credit had already paid this request (the same `Idempotency-Key`): nothing was charged again."
},
"saldo_usd": {
"type": "string",
"description": "The credit balance after the call, such as `$0.99`; only when paid with `cred_…`."
}
},
"description": "How this call was paid."
}
},
"description": "The report of one audit paid per call: the fields of `Audit` without `id`, `quota` and `comparison`, because nothing is stored."
},
"example": {
"url": "https://example.com/",
"score": 0,
"issues": [
{
"severity": "warn",
"code": "title_short",
"message": "Title is short (14 chars)"
},
{
"severity": "error",
"code": "meta_description_missing",
"message": "Missing meta description"
}
],
"summary": {
"finalUrl": "https://example.com/",
"status": 200,
"contentType": "text/html; charset=utf-8",
"title": "Example Domain",
"metaDescription": null,
"canonical": null,
"robots": null,
"viewport": false,
"charset": "utf-8",
"lang": null,
"words": 27,
"timing": {
"responseMs": 20
}
},
"counts": {
"errors": 2,
"warnings": 8,
"info": 6
},
"headers": {
"content-type": "text/html; charset=utf-8",
"server": "cloudflare"
},
"htmlTruncated": false,
"jsonLd": [],
"jsonLdStored": 0,
"truncated": [],
"_links": {
"api_index": "https://pageaudit.online/api/"
},
"cobranca": {
"via": "x402",
"preco_usd": "0.02",
"repetido": false
}
}
},
"service": {
"serviceName": "PageAudit",
"tags": [
"seo",
"web-audit",
"monitoring"
],
"iconUrl": "https://pageaudit.online/icon-512.png"
}
}
}
]Alternative 3
Website SEO & Perf Audit
Website SEO & Perf Audit: Instant website SEO audit. On-page SEO, performance, and accessi
GET https://api.kadec0.xyz/v1/website-audit · 0.08 USD · base
3 different buyers paid this exact route 17 times in the last 30 days (Coinbase CDP catalogue), last on 2026-10-21; answered a valid 402 at the census probe (2026-10-22)
Payment terms (sign and send with the first request)
[
{
"scheme": "exact",
"network": "eip155:8453",
"amount": "80000",
"payTo": "0x4df66B6c140778fe0717880A7c6dDE5Ea53AcDeA",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"maxTimeoutSeconds": 300,
"extra": {
"name": "USD Coin",
"version": "2"
}
}
]Alternative 4
domainaudit.genexxis.com
Full domain security audit: headers on https://<domain>, TLS, email, DNS A/AAAA/NS/CAA, RD
GET https://domainaudit.genexxis.com/audit · 0.01 USD · base
2 different buyers paid this exact route 2 times in the last 30 days (Coinbase CDP catalogue), last on 2026-10-24; answered a valid 402 at the census probe (2026-10-25)
Payment terms (sign and send with the first request)
[
{
"scheme": "exact",
"network": "eip155:8453",
"amount": "10000",
"payTo": "0x9287e3102D411029025C7617d75245BFc7920f17",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"maxTimeoutSeconds": 300,
"extra": {
"name": "USD Coin",
"version": "2"
}
}
]Only routes that answered a valid x402 402 at our census probe; the top three are checked again at answer time and one that answers goes first. Order: how well the route's own description matches your words, then distinct buyers of that exact route in 30 days and its calls (Coinbase CDP catalogue), paid in the last 7 days, input schema published, then lower price. Paid placement never changes this order; it shows only under sponsored.
Sponsored (paid placement, not ranked): Foundations Elements
For agents
GET https://bazaar.agentexchange.work/route.json?need=bitcoin%20price or POST https://bazaar.agentexchange.work/route {"need":"..."}, or the MCP tool route at https://bazaar.agentexchange.work/mcp. Optional filters: max_price_usd, network.
What buyers pay for most (30 days)
crypto · llm · inference · market-data · gateway · security · defi · ai-agents · web · finance · onchain · health · on-chain · analytics · search · evm · stocks · research · macro · trading · wallet · blockchain · monitoring · weather · generator · compliance · token · payment · price · ethereum · sec · smart-money · utility · solana · network · mcp · rest · erc20 · geo · time · address · text · validation · hyperliquid · chain · transaction · bitcoin · random · markdown · social · gas · uptime · public-records · status · twitter · forecast · seo · timestamp · clock · identifiers