Communitygithub.com

specstream/specstream-tools

Le moteur de données web en direct. API de recherche : l'API de recherche web la plus précise au monde, 5 $ pour 1 000 recherches (specstream.ai/benchmarks). API d'extraction : 0,80 $ pour 1 000 pages. Deep Search : lignes structurées.

Qu'est-ce que specstream-tools ?

SpecStream est un moteur de données web en direct conçu pour les équipes et les agents IA. Il permet de rechercher, extraire, enrichir, cartographier et surveiller des données à travers l'ensemble du web. L'API de recherche atteint un score F de 97,9 sur les questions SimpleQA Verified et 64,0 sur les tâches WideSearch, ce qui en fait l'API la plus précise au monde. L'API d'extraction peut traiter jusqu'à 20 pages web, PDF, Word ou Excel par appel. Le produit Deep Search permet d'obtenir chaque correspondance du web en direct sous forme de lignes structurées, avec des prix transparents et une facturation uniquement sur les résultats livrés. SpecStream fonctionne via API REST, MCP (Streamable HTTP), et s'intègre dans des outils comme Sheets, CRMs, Slack, n8n, Zapier, ainsi que des frameworks d'agents comme LangChain, LlamaIndex, CrewAI, Haystack et Vercel AI SDK. Il prend en charge les SDK Python et TypeScript officiels, et peut servir de remplacement direct pour les APIs Tavily, Exa, Brave Search, Serper, Bing, Google Custom Search, SearXNG et Firecrawl.

Compatible avec✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI✓OpenCode✓Windsurf
npx skills add https://github.com/specstream/specstream-tools/tree/main

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Aperçu

Depuis le README du skill

Une requête, son prix et les lignes avec leurs sources
PyPI
npm
n8n node
MCP Registry
Add to Replit
specstream-tools preview

Documentation

Une seule plateforme pour construire, rechercher, extraire, enrichir, cartographier et surveiller des données sur l'ensemble du web.

Demandez n'importe quel jeu de données en langage clair, et SpecStream le construit à partir du web en direct : chaque correspondance trouvée, extraite et enrichie en enregistrements structurés, puis surveillée pour détecter les changements. Il fonctionne via l'API et MCP, et dans Sheets, CRM, Slack, n8n, Zapier et les autres outils que les équipes utilisent déjà.

ProduitCe qu'il faitPrix
Search APIGET /v1/web-search. L'API de recherche web la plus précise au monde : score F de 97,9 sur l'ensemble des 1 000 questions SimpleQA Verified et score F1 de 64,0 sur l'ensemble des 200 tâches WideSearch (scores et méthode). Répond à une question à partir du web en direct en quelques secondes.5 $ pour 1 000 recherches, 1 $ pour 1 000 avec speed=fast
Extract APIPOST /v1/extract. Le texte principal d'un maximum de 20 pages web, fichiers PDF, Word ou Excel par appel. L'outil MCP est read_pages.0,80 $ pour 1 000 pages. Une page sans texte n'est pas facturée.
Deep SearchDemandez en langage clair. Obtenez chaque correspondance sur le web en direct, sous forme de lignes structurées. Il enrichit également une liste que vous possédez et surveille les changements.5¢, 15¢ ou 1 $ par ligne

Recherche :

curl -G https://api.specstream.ai/v1/web-search \
  -H "Authorization: Bearer $SPECSTREAM_API_KEY" \
  --data-urlencode "q=Quelle est la population du Japon ?"

Extraction :

curl https://api.specstream.ai/v1/extract \
  -H "Authorization: Bearer $SPECSTREAM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"urls": ["https://exemple.com"]}'

Search API en Python : répondre à une question à partir du web en direct en quelques secondes.

# pip install specstream-client
import os
from specstream_client import Client

client = Client(os.environ["SPECSTREAM_API_KEY"])

search = client.web_search(q="Quelle est la population du Japon ?")
for source in search["sources"][:1]:
    print(source["title"], source["url"], source["snippet"])

Extract API en Python : le texte principal d'un maximum de 20 pages web, fichiers PDF, Word ou Excel par appel.

# pip install specstream-client
import os
from specstream_client import Client

client = Client(os.environ["SPECSTREAM_API_KEY"])

extract = client.extract_pages({"urls": ["https://exemple.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: "Quelle est la population du Japon ?" });
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://exemple.com"] });
for (const page of extract.results.slice(0, 1)) {
  console.log(page.title, page.url, page.text);
}
  • URL source et temps de lecture pour chaque valeur.
  • La Search API et l'Extract API ne nécessitent ni devis ni approbation. Chaque recherche ou page est facturée à son prix fixe sur votre solde.
  • Dans Deep Search, le coût maximum d'une exécution est affiché et approuvé avant son lancement. Seules les lignes livrées sont facturées, et une exécution qui ne trouve rien ne coûte rien.
  • Une requête enregistrée est relancée toutes les heures à chaque année, et chaque ligne est étiquetée comme modifiée, inchangée ou ne correspondant plus.
  • Votre agent travaille sur votre compte, dans les limites de dépenses que vous définissez.

Remplacement direct pour l'API que vous appelez déjà

SpecStream répond aux appels écrits pour ces API de recherche à sa propre adresse, dans le format de réponse de chaque API. Pour basculer, changez l'adresse de base et la clé. Chaque appel de recherche est une recherche web Search API sur votre clé SpecStream. Un appel de remplacement direct utilise la recherche rapide : 0,001 $ pour un maximum de 10 résultats (1 $ pour 1 000 recherches), et chaque tranche de 10 résultats supplémentaires dans le même appel ajoute 0,0012 $. Un appel qui demande une réponse ou le mode approfondi de l'API utilise la recherche par défaut : 0,005 $ pour un maximum de 10 résultats, et 0,006 $ pour chaque tranche de 10 résultats supplémentaires.

API que vous appelezAdresse de base que vous avezAdresse SpecStreamOù va la clé SpecStream
Tavilyhttps://api.tavily.comhttps://api.specstream.ai/tavilyJeton Bearer ou api_key
Exahttps://api.exa.aihttps://api.specstream.ai/exax-api-key ou jeton Bearer
Brave Search APIhttps://api.search.brave.comhttps://api.specstream.aiX-Subscription-Token
Serperhttps://google.serper.devhttps://api.specstream.ai/serperX-API-KEY
Bing Web Search API v7https://api.bing.microsoft.com/v7.0/searchhttps://api.specstream.ai/v7.0/searchOcp-Apim-Subscription-Key
Google Custom Search JSON APIhttps://www.googleapis.com ou https://customsearch.googleapis.comhttps://api.specstream.aikey= (cx est accepté et non utilisé)
SearXNG (JSON)l'adresse de votre instancehttps://api.specstream.ai/searxng/<key>dans l'adresse, key=, X-API-Key ou jeton Bearer
Firecrawl v2https://api.firecrawl.devhttps://api.specstream.ai/firecrawl (JavaScript SDK et applications) ou https://api.specstream.ai (Python SDK)Jeton Bearer

Les SDK Python officiels de Tavily et Exa acceptent l'adresse comme argument :

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")
  • Un appel qui ne spécifie pas de nombre de résultats renvoie 10 résultats, à 0,001 $ sur la recherche rapide. La valeur par défaut de Brave est 20 : envoyez count=20 pour 20 résultats à 0,0022 $.
  • Un appel Firecrawl /v2/scrape correspond à une page Extract API à 0,0008 $. Le Firecrawl JavaScript SDK fonctionne avec cette adresse. Le Firecrawl Python SDK prend la racine de l'hôte : Firecrawl(api_key=..., api_url="https://api.specstream.ai").
  • Les champs de requête et de réponse de chaque route : specstream.ai/agents.md. Créez une clé sous Agents & API sur specstream.ai/workspace. Les nouveaux comptes commencent avec 10 $ de crédit, sans carte.

Une requête, son prix et les lignes avec leurs sources

PyPI npm n8n node MCP Registry Add to Replit

Ce référentiel contient ce que vous installez autour de SpecStream : configuration du client MCP, plugins et compétences d'agents, SDK, le nœud n8n, une action GitHub et des exemples. Le produit lui-même est disponible sur specstream.ai. Licence MIT.

CheminDescription
server.jsonEntrée pour le registre officiel MCP, ai.specstream/specstream
skills/Compétences d'agents : search-web, extract-pages, compile, review-work, approve-work, continue-work
plugins/claude-code/Plugin Claude Code (serveur MCP et les six compétences)
plugins/github-agent/Plugin pour les agents qui lisent le format agent-plugins
.cursor-plugin/Plugin Cursor
packages/sdk-py/specstream-client : client Python et la commande specstream
packages/sdk-ts/@specstream/sdk : client TypeScript
packages/langchain-specstream/langchain-specstream : outils LangChain et un retrieveur
packages/llama-index-tools-specstream/llama-index-tools-specstream : spécification d'outil LlamaIndex et un retrieveur
packages/crewai-specstream/crewai-specstream : outils CrewAI
packages/specstream-haystack/specstream-haystack : composant de récupération de liste Haystack et outil d'agent
packages/ai-sdk/@specstream/ai-sdk : outils Vercel AI SDK
packages/mcp-stdio/specstream-mcp-stdio : proxy stdio pour les clients qui ne démarrent que des serveurs locaux
integrations/n8n/n8n-nodes-specstream : nœud communautaire n8n
integrations/opencode/opencode-specstream : plugin OpenCode (serveur MCP et les quatre compétences)
integrations/openclaw/@specstream/openclaw-plugin : plugin OpenClaw (trouver une liste, lire ses lignes, quatre compétences)
integrations/pi/@specstream/pi-package : package Pi (le serveur MCP hébergé et quatre compétences)
integrations/obsidian/Plugin Obsidian : demander des données dans une note, approuver le prix, obtenir un tableau Markdown avec une source pour chaque valeur
integrations/open-webui/Outil Open WebUI : devis, approbation et lecture des résultats depuis un chat, plus la route MCP native
integrations/anythingllm/Compétence d'agent AnythingLLM, plus la route MCP
integrations/convex/Composant Convex (@specstream/convex) : données web en direct sous forme d'enregistrements dans vos tables Convex, une source pour chaque valeur
integrations/fivetran/Connecteur Fivetran Connector SDK : vos listes, enregistrements et chaque valeur avec sa page source dans votre entrepôt
integrations/airbyte/Source Airbyte (manifeste uniquement) : vos listes et enregistrements, chaque valeur avec sa page source
integrations/meltano/tap-specstream sur PyPI : Singer tap pour Meltano et toute cible Singer, listes et enregistrements avec la page source de chaque valeur
integrations/coda/Pack Coda : synchroniser une liste dans un tableau avec une colonne source pour chaque valeur, deviser une requête, trouver une liste à partir d'un bouton
plugins/grok/Plugin Grok Build (le serveur MCP hébergé et quatre compétences)
plugins/kiro/Power Kiro (le serveur MCP hébergé et quatre compétences)
integrations/vscode/Extension VS Code : connexion MCP et chat @specstream
actions/find-action/Action GitHub qui exécute une requête et télécharge un CSV
Formula/Formule Homebrew pour la ligne de commande
examples/Exemples Python SDK, TypeScript SDK, OpenAI Agents SDK et LangChain

Connecter un agent

Le serveur MCP est https://api.specstream.ai/mcp (Streamable HTTP). Votre agent travaille sur votre compte : le même solde, les mêmes autorisations et limites de dépenses que vous.

  1. Ouvrez Agents & API dans l'espace de travail et créez une clé API. Donnez-lui uniquement ce dont la tâche a besoin : lire, préparer ou exécuter, les projets qu'elle peut utiliser, une date d'expiration et une limite de dépenses.

  2. Placez-la dans une variable d'environnement, afin qu'aucun fichier ne la contienne :

    export SPECSTREAM_API_KEY="ss_live_..."
    
  3. Ajoutez le serveur à votre client, ci-dessous.

Les clients qui prennent en charge la connexion MCP peuvent se connecter sans clé. Chaque guide sur specstream.ai/docs/mcp montre les étapes actuelles.

Les nouveaux comptes commencent avec 10 $ de crédit, sans carte.

Claude

Dans Claude, allez dans Personnaliser > Connecteurs, choisissez Ajouter un connecteur personnalisé, nommez-le SpecStream et collez https://api.specstream.ai/mcp. Étapes pour la connexion et une clé : docs/mcp/claude.

Claude Code

claude mcp add --transport http specstream https://api.specstream.ai/mcp \
  --header "Authorization: Bearer $SPECSTREAM_API_KEY"

Ou installez le plugin, qui ajoute le serveur et les six compétences. Il vous connecte via votre navigateur la première fois, donc aucune clé n'est nécessaire :

/plugin marketplace add specstream/specstream-tools
/plugin install specstream@specstream

ChatGPT

Allez dans Plugins ChatGPT, choisissez le bouton plus, puis Ajouter un serveur MCP personnalisé. Collez https://api.specstream.ai/mcp sous Connexion et définissez Authentification sur OAuth. Étapes : docs/mcp/chatgpt.

Codex

Ajoutez à ~/.codex/config.toml :

[mcp_servers.specstream]
url = "https://api.specstream.ai/mcp"
bearer_token_env_var = "SPECSTREAM_API_KEY"

Cursor

Ajoutez à ~/.cursor/mcp.json, ou .cursor/mcp.json dans un projet :

{
  "mcpServers": {
    "specstream": {
      "url": "https://api.specstream.ai/mcp",
      "headers": { "Authorization": "Bearer ${env:SPECSTREAM_API_KEY}" }
    }
  }
}

VS Code

… [tronqué pour la traduction]

Skills associés