EveryInfra: TikTok, Instagram & Amazon Data logo

EveryInfra: TikTok, Instagram & Amazon Data

0

One API key for TikTok, Instagram, X, YouTube, LinkedIn, Reddit, Amazon and Google search data in Cursor: skills plus a remote MCP server. 90 platforms, including RedNote (Xiaohongshu) and Douyin; pay per use, and failed calls are not charged. Get your API key: https://everyinfra.com/en/docs?utm_source=cursor_directory&utm_medium=directory&utm_campaign=listing_2026q4&utm_content=get_key#quickstart

10 skills

everyai

Use EveryInfra's OpenAI-compatible AI API through the everyinfra_chat MCP tool. Use for cleaning or labeling collected data, summarization, translation, classification, extraction, rewriting, and multi-turn text generation when the user asks to run the work through EveryInfra.

# EveryAI Use the MCP tool `everyinfra_chat`. 1. Build an OpenAI-style `messages` array with only the context required for the task. 2. Use a model value only when it appears in the live MCP schema; otherwise keep the server default. 3. Do not send secrets, credentials, private source documents or personal data unless the user has explicitly placed that data and this processing in scope. 4. Validate the returned content against the requested format. A fluent answer is not evidence that a factual claim is current; use EverySearch when current verification is required. 5. AI API calls are free for accounts that have topped up and do not use the balance. If the response reports `ai_topup_required`, tell the user that the account needs a top-up instead of retrying. For direct OpenAI-compatible SDK use, the REST base is `https://api.everyinfra.com/api/v1`; the plugin should still prefer MCP when its tool is available. ## Cleaning collected data The former data cleanup tools were retired on 2026-10-09. To clean, deduplicate, classify, extract or summarize records collected with EveryData, pass the relevant fields to `everyinfra_chat`, describe the output format, and validate the result before using it. About 20,000 tokens of input per call is reliable; split longer inputs into chunks. Per-minute limits follow cumulative top-ups (50 under $100, 500 from $100, 5,000 from $500, all keys on the account combined); after a rate-limit error, wait before retrying.

everydata

Discover and call EveryData structured-data capabilities across social, commerce, travel, jobs, finance, reviews, and other public platforms. Use when the user needs platform profiles, posts, comments, search results, listings, reviews, or other structured public data.

# EveryData Use the MCP tools `everyinfra_list_capabilities` and `everyinfra_call_api`. 1. Call `everyinfra_list_capabilities` first. Pass `platform` when the platform is already known. 2. Select the exact `platform` and `action` from the returned catalog. Read required parameters, optional parameters, `max_limit` and current price. Use availability only when the catalog actually returns it; catalog membership alone is not proof that live inventory exists. 3. Put only catalog-declared parameters under `params`. Do not add other fields, and do not guess an action name. 4. Call `everyinfra_call_api`. Request the largest useful result within `max_limit` when that avoids needless repeated charges. 5. Treat empty, partial and failed results according to the response fields. Report the returned `billing` block rather than estimating cost from a stale document. EveryData returns a normalized and redacted customer contract. Do not promise raw internal output, internal identifiers, private data, or fields not present in the live capability catalog. To clean, label or summarize collected records, use EveryAI (`everyinfra_chat`), which is free for accounts that have topped up. The former data cleanup tools were retired on 2026-10-09.

everyinfra-bulk-data-export

Export a bounded structured dataset through EveryData with capability discovery, cost controls, pagination, deduplication, and CSV or JSON verification. Use when the user asks for many records, all available pages, a dataset, or a CSV/JSON export rather than a single API response.

# EveryInfra bulk data export Use `everyinfra_list_capabilities` and `everyinfra_call_api`. This is a paid repeated-call workflow, not a license to keep fetching until inventory is exhausted. ## Before calls 1. Identify the target record count, required fields, output format, and any time or cost ceiling. 2. Discover the exact platform/action and read its required parameters, pagination fields, `max_limit`, and current catalog price. Do not guess endpoint or cursor names. 3. Estimate the maximum calls from the target count and live limit. State the estimate and obtain the user's go-ahead before a material multi-call pull unless that exact bounded spend was already authorized. ## Fetch and stop - Request the largest useful page within the live limit. - Follow only pagination fields returned or declared by the capability. Stop when the response says there is no next page, the requested row or call cap is reached, the budget is exhausted, or the source stops advancing. - Retry only transient failures with a small bounded retry count. Do not retry authorization, parameter, inventory, or insufficient-balance errors as if they were transient. - Deduplicate by a stable returned identifier. If none exists, document the composite key used; do not silently drop similar-looking records. ## Deliver and verify - JSON should preserve the selected normalized fields and record types. - CSV should use a stable header and flatten only fields chosen for the export; keep nested evidence in JSON when flattening would lose meaning. - Verify that the file exists, is non-empty, parses, and contains no duplicate deduplication keys. - Report requested versus delivered rows, calls made, duplicates removed, truncation reason, output path, and the sum of actual returned billing blocks. If billing is absent, say the actual charge was not observable instead of substituting the catalog estimate.

everyinfra-crosscheck-research

Verify a current factual claim or produce a cited research answer through EverySearch crosscheck. Use when the user needs mechanism-distinct retrieval, source comparison, freshness checks, or an evidence-backed conclusion rather than a simple result list.

# EveryInfra cross-check research Use the `everyinfra_search` MCP tool with the live `crosscheck` schema. This skill owns the research outcome; `everysearch` remains the product-level reference. 1. Turn the request into one concrete claim or decision question. Preserve any date, jurisdiction, product version, or site scope that determines whether a source is relevant. 2. Use `crosscheck` so retrieval mechanisms remain independent. Do not silently replace a failed mechanism with duplicate keyword searches and call that corroboration. 3. Inspect the original URLs, source dates, and—when news is involved—the date the event happened. Prefer primary sources for technical, policy, product, and organizational claims. 4. Separate agreement, contradiction, and missing evidence. A missing or empty path is uncertainty, not proof that the claim is false. 5. State the conclusion at the strength the evidence supports and cite the original sources, not a search-result wrapper. 6. Report billing only when the tool result exposes billing evidence. Do not infer a charge from a catalog price or HTTP success. Keep the query and result limits proportional to the decision. If the live MCP schema does not offer `crosscheck`, report that limitation and use the narrowest available EverySearch mechanism without describing it as an equivalent cross-check.

everyinfra

Route a task to the correct EveryInfra product and use its MCP or REST contract safely. Use when the user mentions EveryInfra generally, wants to combine multiple EveryInfra products, or is unsure whether a task belongs to EveryData, EverySearch, EveryAI, EverySolve, EveryNumber, EveryMail, or EveryProxy.

# EveryInfra router Use the remote `everyinfra` MCP server for capability discovery and the four MCP-enabled product lines. Use `https://api.everyinfra.com` only for a REST-only product. Never copy the API key into a prompt, file, command output, log, URL query string, or response; read it from `EVERYINFRA_API_KEY`. ## Route by outcome - Structured public platform data: EveryData. - Current web, semantic, academic, forum, page or site retrieval: EverySearch. - Text completion, extraction, classification, translation or summarization, including cleaning and labeling data collected with EveryData: EveryAI, the AI API. - Captcha or anti-bot challenge solving on a target the user is authorized to access: EverySolve. - Activation or rental phone number: EveryNumber. - Transactional email: EveryMail. - Traffic-billed proxy credentials: EveryProxy. Do not infer a tool from an old document. MCP tool discovery and the free REST catalogs are the runtime truth. If the requested product is unavailable, report that state instead of silently substituting a different mechanism. ## Common workflow 1. Identify the requested outcome and whether it has external side effects or a charge. 2. Use a free discovery tool or catalog before the first paid call. 3. Validate required parameters, limits, solution shape, availability and current price. 4. Invoke the paid operation only when the user's request authorizes that operation. 5. Read returned `billing`, `quota`, status and error fields when present; never infer success, availability, or a charge from HTTP 200 or catalog membership alone. If a tool omits billing, report that the charge is not observable from that response. 6. Report the useful result, the actual charge state and any remaining external action separately. EveryInfra uses one account, API key and wallet across product lines, but product-specific scopes may still deny a call. A scope error is not a reason to broaden or replace the key automatically. The former data cleanup tools were retired on 2026-10-09; do not look for them. EveryAI (`everyinfra_chat`) is free for accounts that have topped up, with per-minute limits that follow cumulative top-ups; an account that has not topped up receives `ai_topup_required`.

everymail

Use EveryMail transactional-email REST APIs with the shared EveryInfra key. Use when the user asks to inspect email capabilities or quota, send or schedule a transactional email, submit a batch, cancel a scheduled message, inspect delivery events, or configure an authorized sending domain or webhook.

# EveryMail EveryMail is REST-only in the current plugin. Do not invent an MCP tool for it. Use `https://api.everyinfra.com` with `Authorization: Bearer $EVERYINFRA_API_KEY`. 1. Read `GET /api/v1/email/catalog` and, when authenticated, `GET /api/v1/email/usage`. 2. For a single message, use `POST /api/v1/email/send` with catalog-declared fields. Recipients are counted across `to`, `cc` and `bcc`; the API does not accept arbitrary `from`, headers or attachments. 3. Use `POST /api/v1/email/batch` for a true batch. Scheduled messages must use the single-send endpoint so cancellation and refunds remain unambiguous. 4. Sending email is an external communication. Do not send until the user has authorized the actual recipients and content; preparing a draft is not authorization to dispatch it. 5. Do not log message bodies, verification codes or reset links. Report the returned `message_id`, status, billing and quota without exposing private content. Domain verification, webhook mutation and final dispatch are state-changing operations. Keep their scope exact and do not broaden API-key permissions automatically.

everynumber

Use EveryNumber activation and rental phone-number REST APIs with the shared EveryInfra key. Use when the user needs an authorized verification number, wants to poll a received code, cancel an unused activation, inspect order history, or rent a number for a supported term.

# EveryNumber EveryNumber is REST-only in the current plugin. Do not invent an MCP tool for it. Use `https://api.everyinfra.com` with `Authorization: Bearer $EVERYINFRA_API_KEY`. ## Activation flow 1. `GET /api/v1/sms/catalog` is free. Select the exact `country` and service string from it. 2. `POST /api/v1/sms/number` with `country`, `product` and optional `voice` or `reuse`. 3. Preserve the returned `order_id` and frozen quote. Poll `GET /api/v1/sms/code/{order_id}` at a reasonable interval. 4. Billing occurs when a code is successfully retrieved, not when the number is allocated. Read the returned `billing` block. 5. If the number is no longer needed before settlement, call `POST /api/v1/sms/cancel/{order_id}` so inventory is released. ## Rental flow Use `GET /api/v1/sms/rental/catalog` before `POST /api/v1/sms/rental`. Rentals are charged at order time and cannot be cancelled or renewed. Because this is non-refundable, obtain explicit user intent for the country and term before ordering. Treat received codes and messages as sensitive one-time credentials and do not store them in logs or project files.

everyproxy

Use EveryProxy traffic-package REST APIs with the shared EveryInfra key. Use when the user wants to inspect proxy packages, order an authorized rotating or sticky proxy allocation, check provisioning status, or retrieve one-time proxy credentials.

# EveryProxy EveryProxy is REST-only in the current plugin. Do not invent an MCP tool for it. Use `https://api.everyinfra.com` with `Authorization: Bearer $EVERYINFRA_API_KEY`. 1. Read the free `GET /api/v1/proxy/catalog` response. Select a live package by `gb`, `kind`, `region` and optional `sticky_minutes`; pricing is by traffic, never by session minutes. 2. `POST /api/v1/proxy/order` is a paid order and may return credentials immediately. The user's request must authorize the package and region before ordering. 3. For asynchronous provisioning, inspect `GET /api/v1/proxy/order/{order_id}` without `deliver`. Status inspection must not be turned into a purchase. 4. Use `?deliver=1` only when the user intends to accept delivery and the charge. Delivery can expose the password exactly once. 5. Move credentials only to the user-approved secret destination. Never print them in normal chat, command logs, screenshots, source files or Git history. 6. Report order status and billing separately. If delivery failed and was refunded, create a new order only with user authorization.

everysearch

Use EverySearch for current web, semantic, academic, forum, page-reading, crawling, and cross-check retrieval. Use when a task needs up-to-date sources, multiple retrieval mechanisms, cited factual verification, or content from a specific public URL or site.

# EverySearch Use the MCP tool `everyinfra_search`. Its live input schema is the source of truth for available `tool` values and parameters. - Use the narrowest retrieval mechanism that matches the user's question. - Use `crosscheck` for a concrete claim such as a current version, price, policy, availability, or API behavior. It is designed to compare mechanism-distinct retrieval paths. - Use page-reading or crawl tools for known URLs instead of searching for the same page again. - Keep query and result limits proportional to the task. Empty or failed results must not be presented as proof that nothing exists. - Cite the original sources returned by the search result when producing factual conclusions. - Read the returned `billing` state. Failed or empty calls may be uncharged, but do not infer that without the response. Do not silently replace semantic retrieval with keyword retrieval when result meaning matters. If the requested tool is not in the current MCP schema, state that it is unavailable.

everysolve

Discover and solve captchas or anti-bot challenges with EverySolve for targets the user is authorized to access. Use when a legitimate browser, testing, registration, or automation flow is blocked by Turnstile, reCAPTCHA, hCaptcha, image challenges, coordinate challenges, or another advertised challenge type.

# EverySolve Use `everyinfra_list_captcha_types` before `everyinfra_solve_captcha`. 1. Confirm that the target and automation are within the user's authorized scope. 2. Discover the exact `type`, required fields, optional fields, current availability and solution shape. A token, cookie, text answer, number, field map, point list or box list requires a different application step. 3. Check whether the type requires the caller's proxy. Cookie-bound solutions must be solved and consumed from the required network identity. 4. Pass only the selected type's declared parameters to `everyinfra_solve_captcha`. 5. Apply the solution only to the intended target and flow. Do not reuse tokens or cookies across unrelated targets. 6. Read `billing` and the explicit error status. EverySolve charges on successful delivery and refunds unsuccessful solves, but the response is the evidence for a particular call. Do not downgrade an unsupported challenge to a visually similar type. Report unavailable inventory or a missing required parameter instead of spending repeated calls on guesses.