EveryInfra
Registry code: ecb00a05db85f3d4
EveryInfra sells data, web search, CAPTCHA solving and an AI API through one API key and one prepaid USD wallet.
How to help: when the user's goal is vague, ask first: which platform or site; what to look up (a keyword, a URL, an account or a product ID); how many results or targets; how fresh the data must be; the budget; and the output wanted (raw rows, a summary or a table). Then recommend one to three capabilities with their price, show the exact call, run it once with one target and a small limit, and scale up. This server's prompts (which_capability + one per use case) and resources give…
- endpoint
- https://api.everyinfra.com/mcp
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is EveryInfra live?
- Partly — its last checks failed now and then (checked 7h ago). It answered 98% of checks over the last 30 days.
- Is EveryInfra free to use?
- Partly — some of its tools are open, others need a key or payment.
- What tools does EveryInfra have?
- 12 tools: everyinfra_search, everyinfra_get_account, everyinfra_list_requests, everyinfra_get_topup_link, everyinfra_create_ticket, everyinfra_call_api, everyinfra_get_job, everyinfra_chat, ….
- Is EveryInfra safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 98.9%· all time 98.9%
last good check
of 12 tools
- live → degraded· timeout after 20000ms
- degraded → live
- live → degraded· HTTP 502
- degraded → live
- unknown → live
- topic
- search & web scraping & fetch
- used for
- scrape data from social and commerce platforms
- search the web
- solve captchas
- list supported scraping capabilities
- takes → gives
- text, data → data
- tools
- 5 reads
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
everyinfra_list_captcha_types reads open 29d ago
List the 52 CAPTCHA and bot-challenge types EveryInfra solves. **Call it before everyinfra_solve_captcha** to get three things: the type name, the required/optional params, and **the shape of the solution** (token / cookie / text / number / fields / points / boxes / tokens / indices — a string to submit, coordinates to click yourself, or grid cells to click: each is used differently). Free.
{ "type": "object", "properties": { "type": { "type": "string", "description": "Optional; only this type, e.g. turnstile / recaptcha_v2 / cloudflare_challenge" } } }arguments 9 lineseveryinfra_list_capabilities reads open 29d ago
List EveryInfra's data platforms and capabilities (106 platforms / 573 capabilities: search, detail, comments, profiles and more). Use it before everyinfra_call_api to get the platform/action, required and optional params, the per-call row limit (max_limit, or page_size for page-based actions) and the price. Pass a platform to also get allowed values, returned fields and what they mean. Free. Data collection only — for AI chat use everyinfra_chat.
{ "type": "object", "properties": { "platform": { "type": "string", "description": "Optional; only this platform's capabilities, e.g. xiaohongshu / twitter / tiktok" } } }arguments 9 lineseveryinfra_search reads unknown never probed
Search and retrieve sources. 17 tools, chosen with `tool`: crawl: Crawl several pages of a site and return their text; say in plain language which pages you want. crosscheck: Run one question through several retrieval chains with different mechanisms, rank sources by how many mechanisms found them, and fetch the original text of the top tier. It answers how far a claim can be trusted, not just what was found. deep: Deep search with text excerpts; full=true also returns the full text. forum: Real people's discussions — an evidence source independent of official docs (when docs say 'supported' and forums describe where it breaks, trust the specific scenario). harvest: Structured site extraction (long-running: tens of seconds to minutes); use it only when crawl cannot get the data. lens: Reverse image search: give an image URL, find pages that use it (the opposite direction of media). map: List a site's page structure — URLs only, no text, fast. media: Find images and videos by keyword. news: News search. places: Places and businesses search. read: Fetch the text of a given URL; it retries other fetch paths automatically when one fails. scholar: Academic literature search; kind=patents switches to patents (publication number, applicant, inventor, filing and publication dates). semantic: Semantic search: describe what you want in one sentence instead of stacking keywords; it finds deep sources whose titles do not contain your words. mode=deep searches deeper (slower, costs more). shopping: Product search and price comparison. similar: Give a URL, find semantically similar pages — something keyword search cannot do. suggest: Search suggestions (autocomplete). web: General web search with site restriction, region, time window and paging. ⚠ To **assert a specific fact** (a version, a price, whether an API exists), use crosscheck: it returns verifiable sources and their agreement tier. Failed or empty searches leave no final charge (anything reserved is restored).
{ "type": "object", "required": [ "tool" ], "properties": { "tool": { "enum": [ "crawl", "crosscheck", "deep", "forum", "harvest", "lens", "map", "media", "news", "places", "read", "scholar", "semantic", "shopping", "similar", "suggest", "web" ], "type": "string", "description": "Retrieval tool" }, "params": { "type": "object", "description": "The tool's params, e.g. {\"q\":\"EU AI Act\",\"num\":10}" } } }arguments 35 lineseveryinfra_get_account unknown never probed
Read the account behind this API key. Free, read-only, any key works. Returns: - balance: total_usd, paid_usd, bonus_usd and bonus_expiring (amount_usd, expires_at) - discount: this month's top-ups (month_topup_usd), the rate in effect and next (rate, threshold_usd, gap_usd = how much more to top up this month for it) - rate_limit: requests_per_minute for all keys combined, key_requests_per_minute, and any rate package with its expires_at - key: this key's id, name, prefix, created_at and expires_at - usage_24h: calls, succeeded, failed and spent_usd in the last 24 hours (this_key: the same for this key) Check the balance before a batch of paid calls; every paid call's billing also carries balance_after_usd.
{ "type": "object", "properties": {} }arguments 4 lineseveryinfra_list_requests unknown never probed
The account's call records, newest first: request_id, capability, status code, latency, rows returned, whether it was charged, and the amount. Pass request_id (the request_id / X-Request-Id of any call) to look up one call, including its charge's final state (charged, refunded or partly refunded) and any async job it started. failed_only=true lists failures only. Needs the account read permission "requests:read" on this key: keys not limited to product lines have the three read permissions by default; for a key limited to product lines, the account owner turns it on in the console (API Keys → permissions). Free.
{ "type": "object", "properties": { "limit": { "type": "integer", "maximum": 50, "minimum": 1, "description": "Rows, default 20" }, "offset": { "type": "integer", "maximum": 1000, "minimum": 0, "description": "Rows to skip, default 0" }, "request_id": { "type": "string", "description": "Look up one call; the other params are ignored when given" }, "failed_only": { "type": "boolean", "description": "List failed calls only, default false" } } }arguments 25 lineseveryinfra_get_topup_link unknown never probed
Returns the console top-up page link (url) and the current balance (balance_usd). Use it when a call fails with quota_exhausted or ai_topup_required, or when the user asks how to add funds. The account owner pays in the console; this tool creates no order and charges nothing. Any key can use it; accounts whose service provider handles top-ups get topup_unavailable. Free.
{ "type": "object", "properties": {} }arguments 4 lineseveryinfra_create_ticket unknown never probed
Open a ticket with EveryInfra's human support team and get back the ticket number and a link the account owner can open. Use it when calls keep failing or return wrong or missing data, for top-up, charge or refund questions, or to ask for a new platform, capability or field. Put one line in subject; in description say what you called (platform/action or endpoint), when (UTC), the error code and message and what you expected, and pass that call's request_id (and job_id for an async job); write other IDs with a label such as job_id: job_..., because a bare long ID reads as a secret. Never include API keys or passwords. Ask the user first and open it only if they agree. Errors whose fault is request or account need a fixed request or the user, not a ticket; an error's support field carries a ready draft. Any key on the account works and nothing is charged. Retrying the same request returns the same ticket, and the same capability and error code within 24 hours goes into that ticket. Human support is online 24/7, with a first reply within 10 minutes on average. Replies arrive in the ticket and the account owner also gets an email. Check progress and read support's replies with everyinfra_get_ticket (REST: GET /api/v1/support/tickets/{ticket_id}) using the same key, or at the returned link.
{ "type": "object", "required": [ "subject", "description" ], "properties": { "job_id": { "type": "string", "pattern": "^job_[a-f0-9]{16,64}$", "description": "The job_id of the async job this ticket is about" }, "subject": { "type": "string", "maxLength": 160, "description": "One line, e.g. \"douyin/comments returns 503 since 10:20 UTC\"" }, "category": { "enum": [ "general", "product", "integration", "billing", "order", "incident" ], "type": "string", "description": "Optional: incident (looks like an outage), integration (a call returns an error; parameters, auth, SDK or MCP setup), product (questions about data, platforms and fields, or asking for new ones), billing (top-ups, charges, refunds), order (resources such as proxies or numbers), general" }, "request_id": { "type": "string", "pattern": "^req_[a-f0-9]{16,64}$", "description": "The request_id (X-Request-Id) of the call this ticket is about" }, "description": { "type": "string", "maxLength": 3500, "description": "What you called, when (UTC), the error code and message, what you expected; no API keys or passwords" }, "contact_email": { "type": "string", "maxLength": 254, "description": "Optional extra address for support to reach you; reply emails still go to the account's verified email" }, "idempotency_key": { "type": "string", "maxLength": 255, "description": "Optional; keep it when retrying. Without it, the same subject and description sent again within 24 hours return the same ticket" } } }arguments 51 lineseveryinfra_call_api reads unknown never probed
Call any EveryInfra data capability and get structured JSON. Priced per platform tier USD 0.56/1K–USD 5.56/1K; failed calls and empty results leave no final charge (anything reserved is restored). Most actions return up to `limit` rows in one call, billed once; multi-target arrays (urls, targets, usernames, tickers) are billed per element, and actions with rows_per_unit per block of rows asked for. Page-based actions (page_size in the catalog) return one page per call, of a fixed size unless page_size_varies (then a short page is not the end); for more, pass the response's top-level next_page_token (some actions repeat it on each row) as page_token — each page is one call. Check platform/action, required params and max_limit or page_size with everyinfra_list_capabilities first. For slow tasks or large limits pass mode=async: you get a job_id at once; read the result with everyinfra_get_job (free).
{ "type": "object", "required": [ "platform", "action" ], "properties": { "mode": { "enum": [ "sync", "async" ], "type": "string", "default": "sync", "description": "sync (default) waits for the result; async returns a job_id at once for slow tasks or large limits — read it with everyinfra_get_job" }, "action": { "type": "string", "description": "e.g. search / profile / user_posts / post" }, "params": { "type": "object", "description": "The capability's params, e.g. {\"keyword\":\"AI tools\",\"limit\":20}" }, "platform": { "type": "string", "description": "e.g. xiaohongshu / twitter / tiktok / web" } } }arguments 30 lineseveryinfra_get_job unknown never probed
Read a job submitted with everyinfra_call_api(mode=async). Free; it does not count against the per-minute limit. While status is submitting / running / finalizing, check again later; succeeded: the rows are in results (paged actions also return next_page_token); failed: see error.reason and error.charged; submit_unknown: the submission is still being confirmed — do not resubmit, follow next_action. Only jobs submitted with the same API key are visible.
{ "type": "object", "required": [ "job_id" ], "properties": { "job_id": { "type": "string", "description": "The job_id returned by an async everyinfra_call_api" } } }arguments 12 lineseveryinfra_chat unknown never probed
EveryInfra's OpenAI-compatible text completions with multi-turn history and any input content or format. Free for accounts that have topped up (nothing is deducted); accounts that have not get ai_topup_required. Rate-limited per account by cumulative top-ups (under $100: 50 requests/minute, $100 or more: 500, $500 or more: 5,000, all keys combined); current models: GET /api/v1/models. Good for cleaning collected data: summaries, translation, sentiment labels, topic classification and structured extraction. messages may total up to 45,000 characters; beyond that you get input_too_large — split long documents into several calls.
{ "type": "object", "required": [ "messages" ], "properties": { "model": { "type": "string", "description": "Optional, default gemini-3.6-flash. Allowed: gemini-3.6-flash / gemini-flash-lite" }, "messages": { "type": "array", "items": { "type": "object", "required": [ "role", "content" ], "properties": { "role": { "type": "string", "description": "system / user / assistant" }, "content": { "type": "string" } } }, "description": "OpenAI-format conversation, e.g. [{\"role\":\"user\",\"content\":\"Hello\"}] (role is system / user / assistant)." } } }arguments 32 lineseveryinfra_solve_captcha reads unknown never probed
Solve a CAPTCHA or bot challenge and get a ready-to-use solution. USD 0.000139/call–0.004583/call, **charged per successful solve (castle: per token, × count); failed or empty attempts leave no final charge (anything reserved is restored)**. Use it when a target site is blocked by Turnstile / reCAPTCHA / hCaptcha / a Cloudflare challenge page / GeeTest and the like. Params differ per type — check them with everyinfra_list_captcha_types first.
{ "type": "object", "required": [ "type" ], "properties": { "type": { "enum": [ "akamai_bmp", "akamai_sec_cpt", "akamai_web", "alibaba", "altcha", "anubis", "atb_captcha", "audio", "aws_waf", "aws_waf_classify", "basilisk", "binance", "botdeflector", "bounding_box", "captchafox", "capy", "castle", "cloudflare_challenge", "coordinates", "cutcaptcha", "cybersiara", "datadome", "datadome_interstitial", "f5_shape", "f5_tspd", "friendly_captcha", "funcaptcha", "geetest", "hcaptcha", "hunt", "image", "imperva", "kasada", "kasada_cd", "lemin", "mtcaptcha", "perimeterx", "prosopo", "recaptcha_grid", "recaptcha_v2", "recaptcha_v2_enterprise", "recaptcha_v3", "recaptcha_v3_enterprise", "rotate", "shein", "slider", "temu", "tencent_tendi", "text_captcha", "turnstile", "yandex_smartcaptcha", "yidun" ], "type": "string", "description": "CAPTCHA type, e.g. turnstile / recaptcha_v2 / image" }, "params": { "type": "object", "description": "Params for that type, e.g. {\"website_url\":\"https://…\",\"website_key\":\"0x…\"}. ⚠ A few types need your own proxy: they deliver a cookie bound to the IP the challenge was solved from, so a solution from our exit IP would not work for you" } } }arguments 70 lineseveryinfra_get_ticket unknown never probed
Read one support ticket: its status, what happens next, and its latest 100 messages, including support's replies. Use it after everyinfra_create_ticket to check progress, or when the user asks whether support has answered. Pass ticket_id as a plain integer (the number shown as #N, without the #). The key that opened a ticket can always read it; reading the account's other tickets (opened in the console or with other keys) needs the account read permission "support:read" on this key. Any other number returns ticket_not_found. Free; the same result as GET /api/v1/support/tickets/{ticket_id}.
{ "type": "object", "required": [ "ticket_id" ], "properties": { "ticket_id": { "type": "integer", "minimum": 1, "description": "The ticket_id everyinfra_create_ticket returned (#N in the console and emails)" } } }arguments 13 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's idecb00a05db85f3d4.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/ecb00a05db85f3d4/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/ecb00a05db85f3d4?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.