Una plataforma para construir, buscar, extraer, enriquecer, mapear y monitorear datos en toda la web.
Pide cualquier conjunto de datos en palabras sencillas y SpecStream lo construye desde toda la web en vivo: cada coincidencia encontrada, extraída y enriquecida en registros estructurados, y luego monitoreada para detectar cambios. Funciona a través de la API y MCP, y dentro de Sheets, CRMs, Slack, n8n, Zapier y las otras herramientas que los equipos ya utilizan.
| Producto | Qué hace | Precio |
|---|---|---|
| Search API | GET /v1/web-search. La API de búsqueda web más precisa del mundo: F-score 97.9 en las 1,000 preguntas de SimpleQA verificadas y F1 de 64.0 en todas las 200 tareas de WideSearch (puntuaciones y método). Responde una pregunta desde la web en vivo en segundos. | $5 por 1,000 búsquedas, $1 por 1,000 con speed=fast |
| Extract API | POST /v1/extract. El texto principal de hasta 20 páginas web, archivos PDF, Word o Excel por llamada. La herramienta MCP es read_pages. | $0.80 por 1,000 páginas. Una página sin texto no se cobra. |
| Deep Search | Pide en palabras sencillas. Obtén cada coincidencia en la web en vivo, en filas estructuradas. También enriquece una lista que tengas y monitorea cambios. | 5¢, 15¢ o $1 por fila |
Búsqueda:
curl -G https://api.specstream.ai/v1/web-search \
-H "Authorization: Bearer $SPECSTREAM_API_KEY" \
--data-urlencode "q=¿Cuál es la población de Japón?"
Extracción:
curl https://api.specstream.ai/v1/extract \
-H "Authorization: Bearer $SPECSTREAM_API_KEY" \
-H "Content-Type: application/json" \
-d '{"urls": ["https://example.com"]}'
Search API en Python: responde una pregunta desde la web en vivo en segundos.
# pip install specstream-client
import os
from specstream_client import Client
client = Client(os.environ["SPECSTREAM_API_KEY"])
search = client.web_search(q="¿Cuál es la población de Japón?")
for source in search["sources"][:1]:
print(source["title"], source["url"], source["snippet"])
Extract API en Python: el texto principal de hasta 20 páginas web, PDF, Word o Excel por llamada.
# pip install specstream-client
import os
from specstream_client import Client
client = Client(os.environ["SPECSTREAM_API_KEY"])
extract = client.extract_pages({"urls": ["https://example.com"]})
for page in extract["results"][:1]:
print(page["title"], page["url"], page["text"])
Search API en TypeScript:
// npm install @specstream/sdk
import { Client } from "@specstream/sdk";
const client = new Client({ apiKey: process.env.SPECSTREAM_API_KEY! });
const search = await client.webSearch({ q: "¿Cuál es la población de Japón?" });
for (const source of search.sources.slice(0, 1)) {
console.log(source.title, source.url, source.snippet);
}
Extract API en TypeScript:
// npm install @specstream/sdk
import { Client } from "@specstream/sdk";
const client = new Client({ apiKey: process.env.SPECSTREAM_API_KEY! });
const extract = await client.extractPages({ urls: ["https://example.com"] });
for (const page of extract.results.slice(0, 1)) {
console.log(page.title, page.url, page.text);
}
- URL de origen y tiempo de lectura en cada valor.
- La Search API y la Extract API no requieren cotización ni aprobación. Cada búsqueda o página tiene su precio fijo descontado de tu saldo.
- En Deep Search, el costo máximo de una ejecución se muestra y se aprueba antes de ejecutarse. Solo se cobran las filas entregadas, y una ejecución que no encuentra nada no tiene costo.
- Una solicitud guardada se vuelve a ejecutar cada hora o año, y cada fila se etiqueta como cambiada, sin cambios o que ya no coincide.
- Tu agente trabaja en tu cuenta, dentro de los límites de gasto que establezcas.
Drop-in para la API que ya llamas
SpecStream responde a llamadas escritas para estas APIs de búsqueda en su propia dirección, en la forma de respuesta de cada API. Para cambiar, modifica la dirección base y la clave. Cada llamada de búsqueda es una búsqueda web de Search API en tu clave de SpecStream. Una llamada drop-in ejecuta la búsqueda rápida: $0.001 por hasta 10 resultados ($1 por 1,000 búsquedas), y cada 10 resultados adicionales en la misma llamada agregan $0.0012. Una llamada que solicita una respuesta o el modo completo de la API ejecuta la búsqueda predeterminada: $0.005 por hasta 10 resultados, y $0.006 por cada 10 adicionales.
| API que llamas | Dirección base que tienes | Dirección de SpecStream | Dónde va la clave de SpecStream |
|---|---|---|---|
| Tavily | https://api.tavily.com | https://api.specstream.ai/tavily | Bearer token o api_key |
| Exa | https://api.exa.ai | https://api.specstream.ai/exa | x-api-key o Bearer token |
| Brave Search API | https://api.search.brave.com | https://api.specstream.ai | X-Subscription-Token |
| Serper | https://google.serper.dev | https://api.specstream.ai/serper | X-API-KEY |
| Bing Web Search API v7 | https://api.bing.microsoft.com/v7.0/search | https://api.specstream.ai/v7.0/search | Ocp-Apim-Subscription-Key |
| Google Custom Search JSON API | https://www.googleapis.com o https://customsearch.googleapis.com | https://api.specstream.ai | key= (cx se acepta y no se usa) |
| SearXNG (JSON) | dirección de tu instancia | https://api.specstream.ai/searxng/<key> | en la dirección, key=, X-API-Key o Bearer token |
| Firecrawl v2 | https://api.firecrawl.dev | https://api.specstream.ai/firecrawl (SDK de JavaScript y aplicaciones) o https://api.specstream.ai (SDK de Python) | Bearer token |
Los SDK oficiales de Python de Tavily y Exa aceptan la dirección como argumento:
import os
from tavily import TavilyClient
from exa_py import Exa
tavily = TavilyClient(api_key=os.environ["SPECSTREAM_API_KEY"], api_base_url="https://api.specstream.ai/tavily")
exa = Exa(api_key=os.environ["SPECSTREAM_API_KEY"], base_url="https://api.specstream.ai/exa")
- Una llamada que no especifica un número de resultados devuelve 10 resultados, a $0.001 en la búsqueda rápida. El valor predeterminado de Brave es 20: envía
count=20para 20 resultados a $0.0022. - Una llamada a Firecrawl
/v2/scrapees una página de Extract API a $0.0008. El SDK de JavaScript de Firecrawl funciona con esta dirección. El SDK de Python de Firecrawl toma la raíz del host:Firecrawl(api_key=..., api_url="https://api.specstream.ai"). - Campos de solicitud y respuesta de cada ruta: specstream.ai/agents.md. Crea una clave en Agents & API en specstream.ai/workspace. Las cuentas nuevas comienzan con $10 de crédito, sin tarjeta.

Este repositorio contiene lo que instalas alrededor de SpecStream: configuración del cliente MCP, plugins y habilidades para agentes, SDKs, el nodo n8n, una GitHub Action y ejemplos. El producto en sí se ejecuta en specstream.ai. Licencia MIT.
| Ruta | Qué es |
|---|---|
server.json | Entrada para el Registro MCP oficial, ai.specstream/specstream |
skills/ | Habilidades para agentes: search-web, extract-pages, compile, review-work, approve-work, continue-work |
plugins/claude-code/ | Plugin de Claude Code (servidor MCP y las seis habilidades) |
plugins/github-agent/ | Plugin para agentes que leen el formato agent-plugins |
.cursor-plugin/ | Plugin de Cursor |
packages/sdk-py/ | specstream-client: Cliente de Python y el comando specstream |
packages/sdk-ts/ | @specstream/sdk: Cliente de TypeScript |
packages/langchain-specstream/ | langchain-specstream: Herramientas de LangChain y un recuperador |
packages/llama-index-tools-specstream/ | llama-index-tools-specstream: Especificación de herramienta de LlamaIndex y un recuperador |
packages/crewai-specstream/ | crewai-specstream: Herramientas de CrewAI |
packages/specstream-haystack/ | specstream-haystack: Componente de obtención de listas de Haystack y herramienta de agente |
packages/ai-sdk/ | @specstream/ai-sdk: Herramientas del AI SDK de Vercel |
packages/mcp-stdio/ | specstream-mcp-stdio: Proxy stdio para clientes que solo inician servidores locales |
integrations/n8n/ | n8n-nodes-specstream: Nodo comunitario de n8n |
integrations/opencode/ | opencode-specstream: Plugin de OpenCode (servidor MCP y las cuatro habilidades) |
integrations/openclaw/ | @specstream/openclaw-plugin: Plugin de OpenClaw (encontrar una lista, leer sus filas, cuatro habilidades) |
integrations/pi/ | @specstream/pi-package: Paquete de Pi (el servidor MCP alojado y cuatro habilidades) |
integrations/obsidian/ | Plugin de Obsidian: pide datos en una nota, aprueba el precio, obtén una tabla Markdown con una fuente para cada valor |
integrations/open-webui/ | Herramienta de Open WebUI: cotizar, aprobar y leer resultados desde un chat, más la ruta MCP nativa |
integrations/anythingllm/ | Habilidad de agente de AnythingLLM, más la ruta MCP |
integrations/convex/ | Componente de Convex (@specstream/convex): datos web en vivo como registros en tus tablas de Convex, una fuente para cada valor |
integrations/fivetran/ | Conector de Fivetran Connector SDK: tus listas, registros y cada valor con su página de origen en tu almacén |
integrations/airbyte/ | Fuente de Airbyte (solo manifiesto): tus listas y registros, cada valor con su página de origen |
integrations/meltano/ | tap-specstream en PyPI: Singer tap para Meltano y cualquier destino Singer, listas y registros con la página de origen de cada valor |
integrations/coda/ | Paquete de Coda: sincroniza una lista en una tabla con una columna de fuente para cada valor, cotiza una solicitud, encuentra una lista desde un botón |
plugins/grok/ | Plugin de Grok Build (el servidor MCP alojado y cuatro habilidades) |
plugins/kiro/ | Kiro power (el servidor MCP alojado y cuatro habilidades) |
integrations/vscode/ | Extensión de VS Code: inicio de sesión MCP y chat @specstream |
actions/find-action/ | GitHub Action que ejecuta una solicitud y sube un CSV |
Formula/ | Fórmula de Homebrew para la línea de comandos |
examples/ | SDK de Python, SDK de TypeScript, SDK de OpenAI Agents y LangChain |
Conectar un agente
El servidor MCP es https://api.specstream.ai/mcp (Streamable HTTP). Tu agente trabaja en tu cuenta: el mismo saldo, permisos y límites de gasto que tienes.
-
Abre Agents & API en el workspace y crea una clave API. Dale solo lo que la tarea necesita: leer, preparar o ejecutar, los proyectos que puede usar, una fecha de vencimiento y un límite de gasto.
-
Colócala en una variable de entorno, para que ningún archivo la contenga:
export SPECSTREAM_API_KEY="ss_live_..." -
Agrega el servidor a tu cliente, abajo.
Los clientes que admiten inicio de sesión MCP pueden conectarse sin una clave. Cada guía en specstream.ai/docs/mcp muestra los pasos actuales.
Las cuentas nuevas comienzan con $10 de crédito, sin tarjeta.
Claude
En Claude, ve a Customize > Connectors, elige Add custom connector, nómbralo SpecStream y pega https://api.specstream.ai/mcp. Pasos tanto para inicio de sesión como para clave: docs/mcp/claude.
Claude Code
claude mcp add --transport http specstream https://api.specstream.ai/mcp \
--header "Authorization: Bearer $SPECSTREAM_API_KEY"
O instala el plugin, que agrega el servidor y las seis habilidades. Te autentica a través de tu navegador la primera vez, por lo que no se necesita clave:
/plugin marketplace add specstream/specstream-tools
/plugin install specstream@specstream
ChatGPT
Ve a ChatGPT Plugins, elige el botón más, luego Add custom MCP server. Pega https://api.specstream.ai/mcp en Connection y establece Authentication en OAuth. Pasos: docs/mcp/chatgpt.
Codex
Agrega a ~/.codex/config.toml:
[mcp_servers.specstream]
url = "https://api.specstream.ai/mcp"
bearer_token_env_var = "SPECSTREAM_API_KEY"
Cursor
Agrega a ~/.cursor/mcp.json, o .cursor/mcp.json en un proyecto:
{
"mcpServers": {
"specstream": {
"url": "https://api.specstream.ai/mcp",
"headers": { "Authorization": "Bearer ${env:SPECSTREAM_API_KEY}" }
}
}
}
VS Code
…

