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/json for JSON request bodies.
  • Use catalog identifiers and parameter names exactly as returned.
Request
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}}'
Response
{
  "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.

ProductCatalog endpointWhat it describes
EveryDataGET /api/v1/social/catalog?compact=1Platforms, actions, required parameters, delivery modes, availability, and prices
EverySearchGET /api/v1/search/toolsSearch tools, request contracts, tiers, and prices
EverySolveGET /api/v1/captcha/typesCAPTCHA types, parameters, solution shapes, availability, and prices
Text modelsGET /api/v1/modelsPublic 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_mean as 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-pro

MCP 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.

StatusMeaningAction
401Missing, invalid, or disabled API keyCheck the Bearer token and key status.
402Insufficient wallet balanceFund the account or reduce the request scope.
404Unknown route or resourceCheck the endpoint and resource identifier.
422Invalid parameter, value, platform, action, or typeRead supported values and did_you_mean from the response.
429Rate limit reachedWait before retrying and stay within the key's rate limit.
5xxThe request could not be deliveredRecord 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.