Developers
EveryInfra API and MCP documentation
Choose a task from the public catalog, create an API key, and make your first call. This guide covers request examples, MCP setup, authentication, billing, and error handling.
One account for data, search, text processing, and CAPTCHA solving
EveryInfra provides 387 data collection capabilities across 87 platforms, 17 search tools, 53 CAPTCHA types, and an OpenAI-compatible text API. Each product has its own endpoint and request format. All use the same API key and account balance.
- Public catalogs can be read without an API key.
- Authenticated endpoints use a Bearer API key.
- MCP and REST share the same public capability contracts.
Quickstart
Send a real request
Create an API key in the console, read the relevant catalog, and send the platform or capability identifier exactly as listed. The response includes structured output and request-level billing data.
- Set
Authorization: Bearer YOUR_API_KEY. - Set
Content-Type: application/jsonfor JSON request bodies. - Use catalog identifiers and parameter names exactly as returned.
curl -X POST https://api.everyinfra.com/api/v1/social \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"platform":"tiktok","action":"search","params":{"keyword":"AI infrastructure","limit":10}}'
{ "id": "…", "platform": "tiktok", "action": "search", "results": [ { "id": "…", "text": "…", "author_username": "…" } ], "count": 10, "billing": { "charged": true } }
Find supported tasks in the public catalogs
Use the catalogs to check supported tasks, inputs, prices, and availability. The compact EveryData catalog lists the essentials for each action; use the full catalog for optional parameters, limits, and response fields. Refresh prices and availability as needed rather than hard-coding them.
| Product | Catalog endpoint | What it describes |
|---|---|---|
| EveryData | GET /api/v1/social/catalog?compact=1 | Platforms, actions, required parameters, delivery modes, availability, and prices |
| EverySearch | GET /api/v1/search/tools | Search tools, request contracts, tiers, and prices |
| EverySolve | GET /api/v1/captcha/types | CAPTCHA types, parameters, solution shapes, availability, and prices |
| Text models | GET /api/v1/models | Public model IDs accepted by the OpenAI-compatible endpoint |
Authentication
Send the API key as a Bearer token. Authentication runs before parameter validation, so a request without a valid key receives 401 rather than parameter feedback. Keep keys out of browser code, logs, and public repositories.
- Create separate keys for separate environments or workloads.
- Rotate a key from the console when its scope or exposure changes.
- Use the console's restrictions when a key should be limited to specific product lines, capabilities, or IP ranges.
POST /api/v1/social
EveryData
Collect data from 87 platforms with 387 supported actions. Choose a platform and action, then supply the inputs listed for that action.
GET /api/v1/social/catalog?compact=1
POST /api/v1/search
EverySearch
Choose from 17 tools to search the web and retrieve source text. Specify the tool identifier and supply its required inputs.
GET /api/v1/search/tools
POST /api/v1/captcha
EverySolve
Solve 53 CAPTCHA types through one endpoint. Set the type field and supply the required inputs. You are charged for successful solutions.
GET /api/v1/captcha/types
POST /api/v1/chat/completions
Gemini text processing
Clean, classify, summarize, or extract information from text. Use the OpenAI-compatible request format with a model ID from the public catalog.
GET /api/v1/models
Validate request parameters
Unknown parameters return 422 with the supported parameter list and, when available, a nearest-name suggestion. Invalid enum values return the allowed values. Parameters are not silently ignored or replaced with defaults.
- Use snake_case parameter names from the catalog.
- Treat
did_you_meanas a repair hint, not a successful fallback. - For multi-target inputs, review the catalog's billing and limit rules before sending an array.
OpenAI-compatible text model IDs
The current public model catalog exposes 7 IDs: gemini-3.6-flash, gemini-3.5-flash, gemini-3.5-flash-thinking, gemini-3.5-flash-thinking-lite, gemini-auto, gemini-flash-lite, and gemini-3.1-pro. Send one of these values in the model field. Call GET /api/v1/models before relying on a model ID in a long-lived client.
- The public endpoint returns non-streaming text responses.
- Send prior messages again when the application needs conversational context.
- Split documents in the client when they exceed the model contract published by the catalog or docs.
gemini-3.6-flashgemini-3.5-flashgemini-3.5-flash-thinkinggemini-3.5-flash-thinking-litegemini-autogemini-flash-litegemini-3.1-proMCP for AI agents
Use MCP when a compatible client should discover and call EveryInfra tools directly. The current MCP server covers data, search, CAPTCHA, and text-model calls while reusing their REST authentication, billing, rate limits, validation, and refund rules.
- Configure the remote server URL and an EveryInfra API key in the client.
- Use capability discovery before a data, search, CAPTCHA, or text-model call.
- Keep the API key in the client's secret or environment configuration.
- Endpoint
- POST /mcp
- Transport
- Streamable HTTP, stateless
- Tools
- Tool names under the
everyinfra_*namespace are public client contracts.
Understand charges and refunds
Check the public catalog for the price and billing unit of the capability you need. Each response records the amount charged. For products billed on successful delivery, failed or empty results are not charged.
- Do not convert internal wallet units into currency in your client.
- Display the currency and amounts returned by the API, and use them to reconcile charges.
- When a delivery-based charge is refunded, the amount returns to your account balance automatically.
Error handling
Read the HTTP status and error body together. Validation errors explain which inputs to fix. Before retrying, check what failed and whether repeating the request could duplicate an action.
| Status | Meaning | Action |
|---|---|---|
| 401 | Missing, invalid, or disabled API key | Check the Bearer token and key status. |
| 402 | Insufficient wallet balance | Fund the account or reduce the request scope. |
| 404 | Unknown route or resource | Check the endpoint and resource identifier. |
| 422 | Invalid parameter, value, platform, action, or type | Read supported values and did_you_mean from the response. |
| 429 | Rate limit reached | Wait before retrying and stay within the key's rate limit. |
| 5xx | The request could not be delivered | Record the request ID and retry only when appropriate. |
Do catalog endpoints require an API key?
No. Public capability catalogs can be read before registration. Authenticated calls still require a valid Bearer API key.
Are MCP and REST separate products?
No. MCP is another way to access EveryInfra's data, search, CAPTCHA, and text processing capabilities. Those calls reuse the corresponding REST authentication, billing, validation, rate-limit, and refund rules.
Can an unsupported parameter be ignored?
No. Unknown parameters return 422 with supported values and a nearest-name suggestion when one can be determined.