Una cuenta para datos, búsqueda, CAPTCHA y una API de IA gratuita
EveryInfra ofrece 413 funciones de recopilación de datos en 90 plataformas, 17 herramientas de búsqueda, 52 tipos de CAPTCHA y una API de IA compatible con OpenAI que es gratis después de recargar. Cada producto tiene su propio endpoint, permisos y formato.
- Los catálogos públicos se pueden consultar sin clave API.
- Los endpoints autenticados usan una clave API de tipo Bearer.
- MCP y REST comparten los mismos contratos públicos de las funciones.
Inicio rápido
Envía una solicitud real
Crea una clave API en la consola, consulta el catálogo correspondiente y envía el identificador de plataforma o función exactamente como aparece. La respuesta incluye datos estructurados e información de facturación de la solicitud.
- Configura
Authorization: Bearer YOUR_API_KEY. - Configura
Content-Type: application/jsonpara cuerpos de solicitud JSON. - Usa los identificadores y nombres de parámetros exactamente como los devuelve el catálogo.
- Para tareas lentas, límites altos o lotes, envía
"mode":"async"en el cuerpo de la solicitud: recibirás unjob_idde inmediato y consultarás el resultado enGET /api/v1/jobs/{job_id}. Una solicitud síncrona debe terminar en un máximo de 85 segundos; un trabajo asíncrono no tiene ese límite.
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, "charged_usd": 0.005556, "balance_after_usd": 12.340122 } }
Consulta las tareas admitidas en los catálogos públicos
Consulta las tareas, entradas, precios y disponibilidad en los catálogos. El catálogo compacto de EveryData muestra lo esencial de cada acción; el completo incluye parámetros opcionales, límites y campos de respuesta. Actualiza los precios y la disponibilidad cuando los necesites en lugar de fijarlos en el código.
| Producto | Endpoint del catálogo | Contenido |
|---|---|---|
| EveryData | GET /api/v1/social/catalog?compact=1 | Plataformas, acciones, parámetros obligatorios, modos de entrega, disponibilidad y precios |
| EverySearch | GET /api/v1/search/tools | Herramientas de búsqueda, contratos de solicitud, niveles y precios |
| EverySolve | GET /api/v1/captcha/types | Tipos de CAPTCHA, parámetros, formatos de solución, disponibilidad y precios |
| API de IA | GET /api/v1/models | Modelos que la API de IA acepta ahora; no necesita clave API |
Autenticación
Envía la clave API como token Bearer. La autenticación se realiza antes de validar los parámetros: una solicitud sin clave válida recibe un 401, no detalles sobre los parámetros. No incluyas claves en código del navegador, registros ni repositorios públicos.
- Crea claves distintas para cada entorno o carga de trabajo.
- Rota una clave desde la consola si cambia su alcance o se ve expuesta.
- Aplica las restricciones de la consola para limitar una clave a líneas de producto, funciones o rangos de IP concretos.
- Con la misma clave,
GET /api/v1/accountte muestra el saldo (de pago, de bonificación y total), el descuento por recargas de este mes, el límite de solicitudes por minuto y el uso de las últimas 24 horas. Los importes están en USD. La consulta es de solo lectura, no tiene coste y no cuenta para el límite por minuto. - En esa respuesta,
balance.total_usdsuma el saldo de pago y el de bonificación, y las llamadas consumen primero la bonificación.bonus_expiringmuestra los importes de bonificación con fecha de caducidad que aún siguen vigentes.rate_limit.requests_per_minutelo comparten todas las claves de la cuenta, yusage_24hpuede ir con un minuto de retraso aproximadamente. - Para el historial de toda la cuenta (uso diario, llamadas recientes, facturación y movimientos del monedero), la misma clave puede leer la API de la consola, por ejemplo
GET /portal/api/requests/{request_id}. La clave necesita acceso de lectura a la cuenta; estas lecturas no tienen coste y admiten 60 por minuto por cuenta. La lista completa está en la sección Account de la especificación OpenAPI. - Para que una IA también pueda cambiar la cuenta, concede permisos de escritura en API Keys → Restringir acceso: gestionar claves, cambiar ajustes y abrir o responder tickets. Los tres están desactivados por defecto y solo tú puedes activarlos, con la sesión iniciada en la consola. Con una clave se pueden crear como máximo 20 claves y 10 tickets al día; ver o rotar claves completas, cambiar permisos o listas de IP permitidas, reactivar claves y los pagos siempre se hacen en la consola. La sección Account de la especificación OpenAPI lista los endpoints, por ejemplo
POST /portal/api/keys/{key_id}/disable. - Para no tener que consultar periódicamente, añade una dirección HTTPS en Configuración → Webhooks de la consola. Enviamos un POST firmado cuando el saldo baja hasta tu umbral o termina una tarea asíncrona. Verifica
X-EveryInfra-Signature, un HMAC-SHA256 de la marca de tiempo, un punto y el cuerpo original calculado con tu secreto de firma; rechaza marcas de tiempo con más de 5 minutos de diferencia y elimina duplicados por el ID del evento, porque los envíos fallidos se reintentan con espera creciente, hasta 7 intentos.
curl https://api.everyinfra.com/api/v1/account \ -H "Authorization: Bearer YOUR_API_KEY"
POST /api/v1/social
EveryData
Recopila datos de 90 plataformas con 413 acciones admitidas. Elige una plataforma y una acción, y proporciona las entradas que requiere.
GET /api/v1/social/catalog?compact=1
POST /api/v1/search
EverySearch
Elige entre 17 herramientas para buscar en la web y recuperar textos originales. Indica el identificador de la herramienta y sus entradas obligatorias.
GET /api/v1/search/tools
POST /api/v1/captcha
EverySolve
Resuelve 52 tipos de CAPTCHA mediante un endpoint. Indica el campo `type` y las entradas obligatorias. Solo se factura la entrega correcta; un intento fallido no deja un cargo final y cualquier importe reservado se restaura automáticamente.
GET /api/v1/captcha/types
POST /api/v1/chat/completions
API de IA
chat/completions compatible con OpenAI, gratis para cuentas con recarga. Úsala para limpiar, clasificar, extraer y resumir los datos que recopilas.
GET /api/v1/models
Valida los parámetros de la solicitud
Los parámetros desconocidos devuelven un 422 con la lista de parámetros admitidos y, cuando es posible, una sugerencia de nombre similar. Los valores enumerados no válidos devuelven los valores permitidos. Los parámetros no se ignoran ni se sustituyen por valores predeterminados sin avisar.
- Usa los nombres de parámetros en snake_case del catálogo.
- Trata
did_you_meancomo una ayuda para corregir la solicitud, no como una sustitución ya realizada. - Antes de enviar una lista de objetivos, revisa las reglas de facturación y los límites del catálogo.
API de IA (gratis con recarga)
La API de IA es chat/completions compatible con OpenAI. Cualquier cuenta con recarga la usa sin coste y sin consumir saldo para limpiar, quitar duplicados, clasificar, extraer y resumir los datos que recopila; el prompt define el formato de salida.
- Con el SDK de OpenAI, usa
https://api.everyinfra.com/api/v1comobase_urly envía tu clave API de EveryInfra en la cabeceraAuthorization: Bearer; un?key=en la URL se rechaza. - El endpoint de chat es
POST /api/v1/chat/completions, con el formato de solicitud y respuesta de OpenAI. - Hay dos modelos:
gemini-3.6-flash, el predeterminado, ygemini-flash-lite, más ligero.GET /api/v1/modelsdevuelve la misma lista y no necesita clave. Un nombre de modelo mal escrito devuelve 422 con el nombre correcto más probable. - Admite streaming: envía
stream: truepara recibir SSE que termina condata: [DONE]y añadestream_options.include_usagepara el uso de tokens. messagesadmite hasta 45.000 caracteres en total; una entrada mayor devuelve 422input_too_large, así que divídela en solicitudes más pequeñas.
from openai import OpenAI import os client = OpenAI(base_url="https://api.everyinfra.com/api/v1", api_key=os.environ["EVERYINFRA_API_KEY"]) reply = client.chat.completions.create( model="gemini-3.6-flash", messages=[{"role": "user", "content": "Devuelve solo JSON: indica el sentimiento, el tema y la intención de esta reseña."}], ) print(reply.choices[0].message.content)
Límites según el total recargado, sumando todas las claves de la cuenta
| Total recargado | Solicitudes por minuto | Simultáneas |
|---|---|---|
| Con recarga, menos de $100 | 50 | 5 |
| Desde $100 | 500 | 50 |
| Desde $500 | 5000 | 500 |
El saldo de prueba y los códigos de crédito no cuentan en el total recargado; una cuenta que nunca ha recargado recibe 403 ai_topup_required. Los niveles son límites, no un rendimiento garantizado.
| Estado | Significado |
|---|---|
| 403 ai_topup_required | La cuenta nunca ha recargado; cualquier recarga habilita la API de IA. |
| 429 rate_limited | Se agotaron las solicitudes por minuto (per_minute_limit) o hay demasiadas en curso (concurrency_limit); espera Retry-After y vuelve a intentarlo. |
| 503 ai_busy | El servicio está ocupado; reintenta después de Retry-After. |
| 403 ai_disabled | La API de IA está pausada para esta cuenta. |
| 422 unknown_model | El modelo no existe; el mensaje sugiere el nombre correcto más probable. |
La API de IA sirve para organizar los datos que recopilas con EveryInfra. Si se usa para otra cosa o las llamadas son claramente anómalas, podemos pausar la API de IA de esa cuenta; la cuenta, sus demás API y su saldo no se ven afectados.
MCP para agentes de IA
Usa MCP para que un cliente compatible descubra y llame directamente a las herramientas de EveryInfra. La superficie actual cubre datos, búsqueda, CAPTCHA y chat de IA con everyinfra_chat (gratis con recarga, sin streaming), con las reglas de autenticación, facturación, límites, validación y ajustes de saldo de cada capacidad REST.
- Configura la URL del servidor remoto y una clave API de EveryInfra en el cliente.
- Consulta las funciones disponibles antes de una llamada de datos, búsqueda o CAPTCHA.
- Guarda la clave API en la configuración de secretos o del entorno del cliente.
- Usa la herramienta gratuita
everyinfra_account(sin argumentos) para ver el saldo, el descuento, el límite por minuto y el uso reciente; devuelve el mismo resumen queGET /api/v1/account. - Después de una llamada de datos con
mode: "async", consulta el resultado con la herramienta gratuitaeveryinfra_get_joby eljob_iddevuelto; muestra lo mismo queGET /api/v1/jobs/{job_id}. - Para los registros de la cuenta, las herramientas gratuitas
everyinfra_usage,everyinfra_requests,everyinfra_billing,everyinfra_keysyeveryinfra_ticketsdevuelven el uso diario, las llamadas recientes (consulta una por request_id para ver cómo se liquidó su cobro), el gasto y los movimientos del monedero, la lista de claves y los tickets de soporte. Necesitan acceso de lectura a la cuenta en la clave: las claves sin límites de línea de producto pueden leer uso, llamadas y facturación de forma predeterminada; para las claves limitadas y para los tickets, actívalo en API Keys → Restringir acceso en la consola. - Cuando la cuenta necesita saldo,
everyinfra_topup_linkdevuelve la página de recarga de la consola; el titular de la cuenta paga allí, y la herramienta nunca crea un pago ni cobra nada. - Cuando el titular concede permisos de escritura a la clave en la consola, una IA también puede usar
everyinfra_key_create,everyinfra_key_update,everyinfra_key_disable,everyinfra_key_delete,everyinfra_settings_update,everyinfra_webhook_set,everyinfra_webhook_test,everyinfra_ticket_createyeveryinfra_ticket_reply. Una clave creada así nunca supera a la que llama ni recibe permisos de escritura, las claves creadas en la consola solo se pueden desactivar, y cada cambio aparece en las notificaciones de la consola.
- Endpoint
- POST /mcp
- Transporte
- Streamable HTTP, sin estado
- Herramientas
- Los nombres de herramientas del espacio
everyinfra_*forman parte del contrato público de los clientes.
Comprende los cobros y los ajustes de saldo
Consulta en el catálogo público el precio y la unidad de facturación de cada función. Cada respuesta registra el importe cobrado. En los productos facturados por entrega correcta, un resultado fallido o vacío no deja un cargo final y cualquier importe reservado se restaura automáticamente.
- No conviertas unidades internas del saldo a moneda en tu cliente.
- Muestra la moneda y los importes devueltos por la API y úsalos para conciliar los cobros.
- Cuando una operación basada en entrega no se completa, cualquier importe reservado vuelve automáticamente al saldo de la cuenta.
- El objeto
billingde cada respuesta de pago incluyecharged_usd, lo que se cobró en esa llamada en USD (0 si no hubo cargo y null mientras el resultado aún no se conoce), ybalance_after_usd, el saldo que queda una vez liquidada la llamada (null si no se puede leer). Durante un lote, siguebalance_after_usden lugar de consultar la cuenta una y otra vez. - Si una llamada falla y el importe reservado ya volvió a tu saldo, el
billingdel cuerpo del error también incluyebalance_after_usd.
Tratamiento de errores
Lee el estado HTTP y el cuerpo del error juntos. Los errores de validación indican qué entradas corregir. Antes de reintentar, comprueba qué falló y si repetir la solicitud podría duplicar una acción.
| Estado | Significado | Qué hacer |
|---|---|---|
| 401 | Clave API ausente, no válida o desactivada | Comprueba el token Bearer y el estado de la clave. |
| 402 | Saldo insuficiente | Consulta el saldo actual con GET /api/v1/account y después añade saldo o reduce el alcance de la solicitud. |
| 404 | Ruta o recurso desconocido | Comprueba el endpoint y el identificador del recurso. |
| 422 | Parámetro, valor, plataforma, acción o tipo no válido | Consulta los valores admitidos y did_you_mean en la respuesta. |
| 429 | Límite de frecuencia alcanzado | Espera lo que indique Retry-After antes de reintentar. El límite es por cuenta y todas sus claves API cuentan juntas; una clave también puede tener su propio límite menor. |
| 5xx | No se pudo completar la solicitud | Registra el identificador de la solicitud. Ante un timeout (timeout), reintenta la misma solicitud con "mode":"async" para recibir un job_id en lugar de esperar. |
¿Necesito una clave API para consultar los catálogos?
No. Puedes consultar los catálogos públicos antes de registrarte. Las llamadas autenticadas sí necesitan una clave API Bearer válida.
¿MCP y REST son productos distintos?
No. MCP es otra forma de acceder a las herramientas que EveryInfra publica en ese momento. Datos, búsqueda, CAPTCHA y el chat de IA comparten las reglas REST correspondientes.
¿La API de IA es gratis?
Sí. Cualquier cuenta con recarga puede llamarla sin consumir saldo. Los límites dependen del total recargado: 50 solicitudes por minuto y hasta 5 a la vez por debajo de $100; 500 y 50 desde $100; 5000 y 500 desde $500; el saldo de prueba y los códigos de crédito no cuentan.
¿Cómo consulto mi saldo desde el código?
Llama a GET /api/v1/account con la misma clave API Bearer. Devuelve el saldo de pago, el de bonificación y el total en USD, el descuento por recargas de este mes, el límite de solicitudes por minuto y el uso de las últimas 24 horas, sin cobrar nada ni contar para el límite. Además, cada respuesta de pago incluye billing.balance_after_usd.
¿Se puede ignorar un parámetro no admitido?
No. Los parámetros desconocidos devuelven un 422 con los valores admitidos y, cuando se puede determinar, una sugerencia de nombre similar.
¿Cómo envío un lote grande de solicitudes?
Usa el modo asíncrono: añade "mode": "async" al cuerpo de la solicitud. Cada llamada devuelve un job_id al instante y consultas el resultado en GET /api/v1/jobs/{job_id}. Una llamada síncrona debe terminar en un máximo de 85 segundos o falla por tiempo de espera agotado (sin cargo); un trabajo asíncrono no tiene ese límite.