Why EveryInfra

EveryInfra provides data collection, web search, CAPTCHA solving, and a free AI API for AI applications. It exposes 413 data capabilities across 90 platforms, 17 search tools, and 52 CAPTCHA types, plus an OpenAI-compatible AI API that accounts can call at no charge after a top-up.

Use one account to discover these products, then apply the endpoint, permissions, billing unit, and failure rules for the selected capability. Public catalogs let you inspect supported tasks and inputs before integrating.

Check the catalogs without an API key

Run these commands to check the current counts of data platforms, data capabilities, CAPTCHA types, and search tools. None of these catalog requests requires an account.

verify.sh
curl https://api.everyinfra.com/api/v1/captcha/types \
  | jq '.types | length'
# 52

curl 'https://api.everyinfra.com/api/v1/social/catalog?compact=1' \
  | jq '.platforms | length, .capabilities | length'
# 90
# 413

curl https://api.everyinfra.com/api/v1/search/tools \
  | jq '.tools | length'
# 17

The comments show the catalog counts used to build this page. Run the commands for the latest values; catalogs can change after a page is built.

Inspect supported inputs and outputs

The public catalogs return structured JSON. Use the data catalog to inspect platform actions, the search catalog to choose a tool, and the CAPTCHA catalog to check required inputs and solution fields. Each catalog documents the parameters and prices for its product.
Check the available field before sending a request. It reports catalog availability, not a guarantee that an individual request will succeed. The Turnstile example below illustrates the response format; use the command to check its current price and status.
Inspect the Cloudflare Turnstile catalog entry
curl https://api.everyinfra.com/api/v1/captcha/types | jq '
  .types[] | select(.type=="turnstile")
  | {type, available, price_credits,
     required: [.required_params[].name],
     solution: .solution.shape}'

{
  "type": "turnstile",
  "available": true,
  "price_credits": 110,
  "required": ["website_url", "website_key"],
  "solution": "token"
}

Check prices and the final charge

Authentication and parameter validation errors are not charged. For products billed on successful delivery, a failed or empty result leaves no final charge and any reserved amount is restored automatically.
All four products draw from the same account balance. Check the public catalog for the price and billing unit of each capability. The response records the amount charged for your request, including any applicable discount.
For data actions that accept multiple targets, the target count affects the charge. Arrays such as urls, targets, usernames, and tickers are billed per target rather than as a single request. Check the action's limits before sending a batch.

Correct invalid requests from the error response

An unknown parameter returns HTTP 422 with the supported parameter names and, when available, a suggested match. An invalid enum value returns the allowed values. Invalid inputs are rejected rather than silently ignored or replaced with defaults.
If you request an unknown action on a supported data platform, the error lists the available actions and suggests a match when one can be found. Your application or agent can use this response to correct the request.
API requests require authentication before parameter validation. Include a valid API key before checking a request's inputs; missing authentication returns HTTP 401.
Example error for a misspelled model ID
POST https://api.everyinfra.com/api/v1/chat/completions
{"model": "gemini-3.6-flas", "messages": [...]}

HTTP 422
{
  "error": {
    "code": "unknown_model",
    "message": "`gemini-3.6-flas` is not an available model
                — did you mean `gemini-3.6-flash`? ..."
  }
}

Connect through REST or MCP

REST: POST https://api.everyinfra.com/api/v1/social, /api/v1/captcha, /api/v1/search, and /api/v1/chat/completions.
OpenAPI 3: https://api.everyinfra.com/openapi.json. MCP: POST https://api.everyinfra.com/mcp, Streamable HTTP, stateless. llms.txt: https://api.everyinfra.com/llms.txt.
MCP tools use the same API key, account balance, and product-level authentication, billing, rate-limit, and balance-adjustment rules as their REST counterparts. You do not need a separate MCP account.

EveryInfra API questions

Which CAPTCHA types does EveryInfra support?
The catalog lists 52 CAPTCHA types across 9 response formats, including tokens, cookies, click coordinates, bounding boxes, and named fields. GET /api/v1/captcha/types lists each type's required inputs, solution fields, and current availability without an API key.
Am I charged when a request fails?
Authentication and parameter validation errors are not charged. For products billed on successful delivery, an unsuccessful request leaves no final charge and any reserved amount is restored automatically. Check the capability's billing rules and the amount returned in the response.
Do I need a separate integration for each CAPTCHA type?
No. All 52 types use POST /api/v1/captcha with the same API key and account balance. Set the type field and supply the inputs required for that type; the response format depends on the selected CAPTCHA.
Is MCP supported?
Yes. Connect to POST https://api.everyinfra.com/mcp using Streamable HTTP. The endpoint is stateless, and its tools use the same authentication, billing, and balance-adjustment rules as the corresponding REST APIs.
How do I know whether a capability works right now?
Check the available field in the relevant public catalog before sending a request. It reports catalog availability, not a guarantee of success for a particular request. Handle errors according to the capability's response contract.
Can I see the capabilities and prices before signing up?
Yes. The data, search, and CAPTCHA catalogs require no API key. Use them to inspect supported capabilities, required inputs, response fields, and published prices before creating an account.

Page counts come from the same catalog definitions used by the API. Copy the curl commands to inspect current values; response examples illustrate the format and are not live status reports.