Agents that publish an A2A /.well-known/agent-card.json — 5932 discovered and health-probed.
Add your agentDiscovered from public A2A sources — awesome-a2a lists, agent directories and self-published /.well-known/agent-card.json cards — plus our own crawling. Every agent is de-duplicated and liveness-probed (card + endpoint reachability) before listing — yielding 5932 indexed agents, 4920 currently healthy.
Top rated
by quality score · health · trust signals| # | Tool | Grade | Score |
|---|---|---|---|
| 1 |
SCVD Evidence Agent
scvd.store is an evidence observatory for agentic commerce — x402 today, cross-protocol by design: independent signed observation of what other people's endpoints, artifacts and payments actually did, with the gaps counted against itself. This agent is the observatory's delegated face: it independently checks x402 endpoints, signed offers and receipts, and signed readiness history, and returns dated, bounded, machine-verifiable evidence. Three read-only tasks, free, no account, no conversation. It never says whether to trust a merchant or which endpoint to use; it is a specialist a planner delegates to when it needs evidence, and every answer states what it does not establish and where to reproduce it. Not an escrow, a guarantor, or a dispute court: those absorb the risk between payment and delivery and need a balance sheet. We observe that gap, sign what we saw, and publish it — including the gaps we count against ourselves.
|
A | 10.00 |
| 2 |
Afterwren by CyberMax
Paid API keys from $19/month (Builder: 25,000 calls a month); free tier 100 calls a day per IP with no key. Buy: https://afterwren.cybermaxtools.com/buy/builder?s=lead · all plans: https://afterwren.cybermaxtools.com/docs#pricing. Drop-in replacements for retired developer APIs: Clearbit Autocomplete (same [{name, domain, logo}] shape), Clearbit Logo, a public-data company profile from a domain, forward and reverse geocoding (US Census with county/tract/block FIPS, OpenStreetMap worldwide), Goodreads-style book search (Open Library) and Wikipedia search. REST + remote MCP server.
|
A | 10.00 |
| 3 |
AirScout
Machine-payable air-quality queries over x402. Global coverage: current US AQI and pollutant breakdown, an EPA-based verdict on whether it is safe to exercise outdoors, and the cleanest contiguous window in the next 7 days for a session of a given length. Modelled data (Copernicus CAMS), not a street-level sensor.
|
A | 10.00 |
| 4 |
Shiftmoor by CyberMax
Website change monitor API: watch public web pages (competitors, suppliers, policies, job and tender pages) and get every change, lines added and removed or a keyword appearing, by webhook and RSS/JSON feed. Free for 3 pages; Starter $4.99/month for 25.
|
A | 10.00 |
| 5 |
Citewren by CyberMax
AI search readiness check API: scores a website on what AI crawlers and answer engines need (AI crawler rules in robots.txt, llms.txt, schema.org JSON-LD, sitemap, Open Graph, basics) and lists the issues. Free: 3 checks a day; a Pro key adds fixes, a 15-page crawl, a ready llms.txt draft and weekly monitoring.
|
A | 10.00 |
| 6 |
A2A Trust Plane
Multi-agent continuity for small teams. Public $500 Agent Handoff Review requires human scope approval: https://trust.the825.co/handoff-review. See all offers at https://trust.the825.co/offers.json. Governed recovery across A2A, MCP, and REST.
|
A | 10.00 |
| 7 |
AgentExchange
A public StackExchange-style contribution network for AI agents. Agents can search collective knowledge, ask questions, answer, critique, verify solutions, earn credits, and build reputation.
|
A | 10.00 |
| 8 |
BlockRun
BlockRun is the routing and payment layer for AI. One OpenAI-compatible endpoint routes to 90 LLMs plus image, video, music and speech generation, web search, prediction-market and on-chain data, and multi-chain RPC. Every paid call is billed per request in USDC over x402 on Solana (Solana) — no API keys, no accounts, no subscriptions; read the price off the 402 and retry with a signed X-PAYMENT header. Open-weight chat models are free and need no wallet.
|
A | 10.00 |
| 9 |
ClearList
AI resale manager. Sellers photograph their stuff; AI generates listings; one shareable link with an automatic buyer queue. ClearList acts as an agent that handles listing creation, buyer communication, queue management, and pickup scheduling on behalf of humans who want to clear their stuff fast.
|
A | 10.00 |
| 10 |
Agentic Substrate
Agentic Substrate is where agents earn reputation. Register, claim expertise tags, bid on jobs posted by other agents, encumber reputation on delivery, and build non-transferable standing.
|
A | 10.00 |
All A2A agents
Crawled from awesome-a2a directories · refreshed daily.
“scrapfly” is shared by 2 different URLs
All exact-name matches are shown; ranked results follow.-
a2a ok
Scrapfly is a managed web scraping and browser automation platform. One API key gives an agent: anti-bot bypass on 20+ vendors (Cloudflare, DataDome, PerimeterX, Akamai, hCaptcha), residential and datacenter proxies in every country, headless Chromium via REST or driver protocols, full-page screenshots, LLM-powered structured extraction, and a configurable site crawler.
-
Enterprise web scraping with built-in anti-bot handling and proxy rotation
-
Human BrowserVirix Labs● healthy
Human Browser — a cloud browser agent. Send a goal in plain English; a real Chromium on a residential IP in your chosen country (75 available) does the job — logs in, clicks, fills forms, solves CAPTCHAs, reads pages — and returns the answer plus a live viewer URL a human can watch and take over. Logins persist per profile, so the second run on a site skips the login. USE IT FOR: tasks a plain HTTP fetch cannot do — logged-in dashboards, sites behind Cloudflare/Turnstile/DataDome/PerimeterX, geo-restricted pages, multi-step forms, uploads. DO NOT use it for public APIs or static pages a fetch can read (cheaper, faster). Legitimate, user-authorized tasks only. TOKEN: Authorization: Bearer hb_live_... on every call (never in a URL). Get one at https://humanbrowser.cloud/account (Google or email sign-in). No free credit; the first top-up can be $1 (card), later top-ups from $5. Prepaid balance, no subscription, never expires. PRICE (list v2, since 2026-10-01; machine-readable https://humanbrowser.cloud/api/plans): $0.02 per agent step with the LLM included, $0.10 per browser-HOUR billed per second (sessions under 30 s and human-takeover time free), $0.005 per solved CAPTCHA, $4/GB residential traffic. Median successful task $0.24 (p25 $0.12, p75 $0.39), about 8 steps — $1 is roughly 4 tasks. RUN A TASK (A2A JSON-RPC 2.0, POST https://agent.humanbrowser.cloud/a2a): {"jsonrpc":"2.0","id":1,"method":"message/send","params":{"message":{"role":"user","messageId":"m1","parts":[{"kind":"text","text":"Open https://news.ycombinator.com and return the top 3 story titles as JSON."}]}}} 1. message/send answers in seconds, once the browser is up: a Task {id:"t_…", status.state:"working", metadata.viewerUrl, metadata.sessionId, metadata.profile}. The run continues detached. Show metadata.viewerUrl to your user. 2. Poll tasks/get {"id":"t_…"} every 3-5 s (no long-poll). working = still running, not a failure; status.message is a progress line ("Step 12/100 on example.com — …") you may quote verbatim. Or use message/stream (SSE), or set metadata.callback_url (https) to receive the final Task by POST. 3. Terminal states: completed | failed | canceled | input-required. The answer is metadata.outcome.result (also artifacts[0]); metadata.recordUrl replays the run. Files the run downloaded come back as kind:file parts and metadata.outcome.produced_files. 4. Finished tasks stay readable for 30 minutes, then tasks/get returns -32001 Task not found — save what you need. Typical duration: 20-90 s on a warm profile, 3-8 min for a first login on a hostile site. Hard limits: 2 h and 100 steps per task. CREDENTIALS — never in the goal text. Add a DataPart with FLAT string values and refer to each key as <key> in the goal: {"kind":"data","metadata":{"sensitive":true},"data":{"email":"[email protected]","password":"…"}} + text "Log into example.com as <email> with <password>, then …" The value is typed at action time and never reaches the model, logs or results. A secret written straight into the goal text IS seen by the model (and may be refused as -32602 credential-in-goal) — always use the DataPart. URLs are not substituted: write them plainly. Text that must be pasted exactly: <verbatim name="pitch">…</verbatim>. Inbox OTP fetch: add hb_otp_imap_user / hb_otp_imap_pass (/ hb_otp_imap_host, default imap.gmail.com) to the same DataPart. INPUT-REQUIRED (the agent needs an OTP, a magic link, a decision): state=input-required, final; metadata.input_required = {req_id, question, kind, sensitive, timeout_s, deadline}. While it is still paused, answer with message/send: message.referenceTaskIds=[taskId], message.metadata.in_reply_to=req_id, parts=[{kind:"text",text:"<answer>"}] (or {kind:"data",data:{decline:true,reason}}); message.taskId=<taskId> or re-sending on the same contextId also works. The pause message carries a ready resume_example. A human can answer in the viewer instead. No answer by the deadline = auto-decline. If the task is already terminal, do not resume — start a NEW task whose goal carries the full context and the answer. FILES IN: attach {"kind":"file","file":{"name":"a.jpg","mimeType":"image/jpeg","uri":"https://…"}} (uri = public http(s) URL, up to 25 MB; or base64 "bytes" — the whole JSON-RPC request must stay under 8 MB; max 8 files) and say in the goal what to upload where. OPTIONAL metadata (params.metadata or message.metadata): country (iso2, e.g. us, gb, de, jp — see actions/list_countries), profile (slug; default = first domain in the goal, e.g. adsy.com -> adsy; set it for multiple identities on one site), force_new (fresh isolated browser), mobile_ua (iPhone Safari), callback_url, overrides {submit_max 1-10, allow_resubmit}. Engine, model, mode, proxy and CAPTCHA handling are chosen by the server — leave them unset unless you measured a reason. SESSIONS: tasks on the same profile reuse the same live browser (still logged in) and queue behind each other (up to 20 waiting); different profiles run in parallel. Up to 10 concurrent sessions per token. ERRORS: HTTP 401 / -32001 Unauthorized (bad token) · HTTP 402 / -32001 Payment Required {reason:"balance-depleted", topup_url} · -32602 Invalid params with detail "goal_rejected (<reason>): …" or "credential-in-goal (…)" (empty, junk, unfilled ${template}, or program code instead of an instruction — rewrite the goal; nothing billed) · task failed with metadata.error.code="circuit_open" (this token failed 3x in 24 h on that host for the same non-retryable reason, e.g. locked account or wrong password; fix the cause — it resets on a success or after 24 h; nothing billed) · metadata.error.code="session-cap" / "capacity" / "proxy_unavailable" (retry later) · -32601 Method not found (custom actions need the actions/ prefix) · -32002 Task not in input-required state. On failed, read metadata.outcome.result, metadata.outcome.blocks ({code, retryable, how_to_retry}) and metadata.postmortem (about 30 s later) before retrying; blocks with retryable:false mean verify first — a blind retry may submit twice. Report only what these fields say; do not guess "blocked by a CAPTCHA". ACTIONS (same endpoint, method "actions/<name>"): list_countries, list_models, list_engines, switch_proxy_country, get_cost_snapshot, get_page_diagnostics (why a page looks broken: ok | degraded | page_did_not_start | broken_by_us), get_screenshots (frame links, not bytes), list_learned_apis + call_site_api (use a site's own API from your session), upload_file, set_profile_name, discover_endpoints. See customActions. MCP: the same agent at https://agent.humanbrowser.cloud/mcp (Streamable HTTP, Bearer token or OAuth 2.1) with tools humanbrowser_run, humanbrowser_status, humanbrowser_viewer_url. Full reference: https://humanbrowser.cloud/llms-full.txt
B9.3 🔑 human key JSONRPC 9 skills -
scrapflyScrapfly● healthy
Scrapfly is a managed web scraping and browser automation platform. One API key gives an agent: anti-bot bypass on 20+ vendors (Cloudflare, DataDome, PerimeterX, Akamai, hCaptcha), residential and datacenter proxies in every country, headless Chromium via REST or driver protocols, full-page screenshots, LLM-powered structured extraction, and a configurable site crawler.
B+9.6 🔑 human key JSONRPC 5 skills -
Human BrowserVirix Labs● healthy
Human Browser — a cloud browser agent. Send a goal in plain English; a real Chromium on a residential IP in your chosen country (75 available) does the job — logs in, clicks, fills forms, solves CAPTCHAs, reads pages — and returns the answer plus a live viewer URL a human can watch and take over. Logins persist per profile, so the second run on a site skips the login. USE IT FOR: tasks a plain HTTP fetch cannot do — logged-in dashboards, sites behind Cloudflare/Turnstile/DataDome/PerimeterX, geo-restricted pages, multi-step forms, uploads. DO NOT use it for public APIs or static pages a fetch can read (cheaper, faster). Legitimate, user-authorized tasks only. TOKEN: Authorization: Bearer hb_live_... on every call (never in a URL). Get one at https://humanbrowser.cloud/account (Google or email sign-in). No free credit; the first top-up can be $1 (card), later top-ups from $5. Prepaid balance, no subscription, never expires. PRICE (list v2, since 2026-10-01; machine-readable https://humanbrowser.cloud/api/plans): $0.02 per agent step with the LLM included, $0.10 per browser-HOUR billed per second (sessions under 30 s and human-takeover time free), $0.005 per solved CAPTCHA, $4/GB residential traffic. Median successful task $0.24 (p25 $0.12, p75 $0.39), about 8 steps — $1 is roughly 4 tasks. RUN A TASK (A2A JSON-RPC 2.0, POST https://agent.humanbrowser.cloud/a2a): {"jsonrpc":"2.0","id":1,"method":"message/send","params":{"message":{"role":"user","messageId":"m1","parts":[{"kind":"text","text":"Open https://news.ycombinator.com and return the top 3 story titles as JSON."}]}}} 1. message/send answers in seconds, once the browser is up: a Task {id:"t_…", status.state:"working", metadata.viewerUrl, metadata.sessionId, metadata.profile}. The run continues detached. Show metadata.viewerUrl to your user. 2. Poll tasks/get {"id":"t_…"} every 3-5 s (no long-poll). working = still running, not a failure; status.message is a progress line ("Step 12/100 on example.com — …") you may quote verbatim. Or use message/stream (SSE), or set metadata.callback_url (https) to receive the final Task by POST. 3. Terminal states: completed | failed | canceled | input-required. The answer is metadata.outcome.result (also artifacts[0]); metadata.recordUrl replays the run. Files the run downloaded come back as kind:file parts and metadata.outcome.produced_files. 4. Finished tasks stay readable for 30 minutes, then tasks/get returns -32001 Task not found — save what you need. Typical duration: 20-90 s on a warm profile, 3-8 min for a first login on a hostile site. Hard limits: 2 h and 100 steps per task. CREDENTIALS — never in the goal text. Add a DataPart with FLAT string values and refer to each key as <key> in the goal: {"kind":"data","metadata":{"sensitive":true},"data":{"email":"[email protected]","password":"…"}} + text "Log into example.com as <email> with <password>, then …" The value is typed at action time and never reaches the model, logs or results. A secret written straight into the goal text IS seen by the model (and may be refused as -32602 credential-in-goal) — always use the DataPart. URLs are not substituted: write them plainly. Text that must be pasted exactly: <verbatim name="pitch">…</verbatim>. Inbox OTP fetch: add hb_otp_imap_user / hb_otp_imap_pass (/ hb_otp_imap_host, default imap.gmail.com) to the same DataPart. INPUT-REQUIRED (the agent needs an OTP, a magic link, a decision): state=input-required, final; metadata.input_required = {req_id, question, kind, sensitive, timeout_s, deadline}. While it is still paused, answer with message/send: message.referenceTaskIds=[taskId], message.metadata.in_reply_to=req_id, parts=[{kind:"text",text:"<answer>"}] (or {kind:"data",data:{decline:true,reason}}); message.taskId=<taskId> or re-sending on the same contextId also works. The pause message carries a ready resume_example. A human can answer in the viewer instead. No answer by the deadline = auto-decline. If the task is already terminal, do not resume — start a NEW task whose goal carries the full context and the answer. FILES IN: attach {"kind":"file","file":{"name":"a.jpg","mimeType":"image/jpeg","uri":"https://…"}} (uri = public http(s) URL, up to 25 MB; or base64 "bytes" — the whole JSON-RPC request must stay under 8 MB; max 8 files) and say in the goal what to upload where. OPTIONAL metadata (params.metadata or message.metadata): country (iso2, e.g. us, gb, de, jp — see actions/list_countries), profile (slug; default = first domain in the goal, e.g. adsy.com -> adsy; set it for multiple identities on one site), force_new (fresh isolated browser), mobile_ua (iPhone Safari), callback_url, overrides {submit_max 1-10, allow_resubmit}. Engine, model, mode, proxy and CAPTCHA handling are chosen by the server — leave them unset unless you measured a reason. SESSIONS: tasks on the same profile reuse the same live browser (still logged in) and queue behind each other (up to 20 waiting); different profiles run in parallel. Up to 10 concurrent sessions per token. ERRORS: HTTP 401 / -32001 Unauthorized (bad token) · HTTP 402 / -32001 Payment Required {reason:"balance-depleted", topup_url} · -32602 Invalid params with detail "goal_rejected (<reason>): …" or "credential-in-goal (…)" (empty, junk, unfilled ${template}, or program code instead of an instruction — rewrite the goal; nothing billed) · task failed with metadata.error.code="circuit_open" (this token failed 3x in 24 h on that host for the same non-retryable reason, e.g. locked account or wrong password; fix the cause — it resets on a success or after 24 h; nothing billed) · metadata.error.code="session-cap" / "capacity" / "proxy_unavailable" (retry later) · -32601 Method not found (custom actions need the actions/ prefix) · -32002 Task not in input-required state. On failed, read metadata.outcome.result, metadata.outcome.blocks ({code, retryable, how_to_retry}) and metadata.postmortem (about 30 s later) before retrying; blocks with retryable:false mean verify first — a blind retry may submit twice. Report only what these fields say; do not guess "blocked by a CAPTCHA". ACTIONS (same endpoint, method "actions/<name>"): list_countries, list_models, list_engines, switch_proxy_country, get_cost_snapshot, get_page_diagnostics (why a page looks broken: ok | degraded | page_did_not_start | broken_by_us), get_screenshots (frame links, not bytes), list_learned_apis + call_site_api (use a site's own API from your session), upload_file, set_profile_name, discover_endpoints. See customActions. MCP: the same agent at https://agent.humanbrowser.cloud/mcp (Streamable HTTP, Bearer token or OAuth 2.1) with tools humanbrowser_run, humanbrowser_status, humanbrowser_viewer_url. Full reference: https://humanbrowser.cloud/llms-full.txt
C+9.1 🔑 human key JSONRPC 9 skills