DeepSeek lanza Search API y Fetch API para agentes y RAG
@programacionLo esencial
- DeepSeek lanzó Search API y Fetch API, impulsadas por su propio motor de búsqueda interno.
- Search API devuelve hasta 50 resultados por consulta con un rerank_score de 0 a 3.
- Fetch API convierte cualquier página web en Markdown listo para un pipeline de RAG.
- Ambas usan la misma autenticación Bearer que la API estándar de DeepSeek.
- Soportan operadores como site:, lang:, after: y before: para filtrar resultados.
Qué lanzó DeepSeek
DeepSeek acaba de abrir su buscador interno a cualquier agente con API key. La documentación oficial describe dos endpoints nuevos: Search API, que busca en la web y devuelve resultados estructurados, y Fetch API, que trae una página completa convertida a Markdown.
Ambas comparten la base https://api.deepseek.com y la misma autenticación Bearer que ya usa el resto de la API de DeepSeek. No hay un SDK nuevo que instalar: son rutas JSON planas, pensadas para que un agente las llame igual que llama a cualquier otra herramienta.
Cómo funciona la Search API
El endpoint es POST /v1/tools/search. Recibe un campo query obligatorio de entre 1 y 128 caracteres, un count opcional (entre 1 y 50 resultados, por defecto 10) y un need_content booleano que, si es falso, deja el campo content vacío para ahorrar payload.
curl https://api.deepseek.com/v1/tools/search \
-H "Authorization: Bearer $DEEPSEEK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "arquitectura RAG 2026 site:github.com",
"count": 5,
"need_content": true
}'Cada resultado trae rerank_score (0 a 3, se considera de alta calidad desde 1.5), snippet (100 a 200 caracteres para UI), summary (600 a 800 caracteres pensados para que los lea un modelo) y, si pediste contenido completo, el texto crudo de la página en content.
Operadores de búsqueda que hereda del motor interno
La query se reenvía con su sintaxis intacta al motor de DeepSeek, así que admite los mismos operadores que un buscador tradicional:
- site: restringe a un dominio, por ejemplo
DeepSeek site:github.com OR site:huggingface.co. - -site: excluye un dominio de los resultados.
- lang: filtra por idioma con códigos separados por comas, como
lang:es,en. - after: y before: acotan por fecha de publicación, en formato año o fecha completa.
- "..." fuerza coincidencia exacta de frase, y
-"..."la excluye.
La Fetch API: de HTML a Markdown
El segundo endpoint, POST /v1/tools/fetch, toma una URL puntual y devuelve su contenido ya convertido a Markdown. Es el paso que normalmente hace un scraper aparte: acá llega integrado en la misma cuenta y facturación que el resto de la API.
import requests
respuesta = requests.post(
"https://api.deepseek.com/v1/tools/fetch",
headers={"Authorization": f"Bearer {DEEPSEEK_API_KEY}"},
json={"url": "https://api-docs.deepseek.com/guides/search/"},
)
respuesta.raise_for_status()
pagina = respuesta.json()
print(pagina["content"][:500])Encadenar los dos endpoints da un patrón simple: Search ubica las URLs relevantes y Fetch trae el texto completo de las que de verdad importan, sin depender de need_content en la primera llamada.
Para qué sirve en agentes y RAG
Un agente que necesita datos frescos (precio de hoy, versión actual de una librería, noticia de esta semana) ya no depende de un índice propio desactualizado. Llama a Search, decide qué página vale la pena y usa Fetch para traerla completa antes de razonar sobre ella.
Para RAG, el cambio es que la base de conocimiento deja de ser estática: en vez de indexar documentos de antemano, el sistema busca en vivo y recupera contenido actualizado en el momento de responder la pregunta, con la fuente (url, site_name, date) disponible para citar.
Limitaciones y cuándo no conviene
La documentación es explícita en sus límites: query no puede ser una cadena vacía ni solo espacios, y el tope de count es 50 resultados por llamada. Si un agente necesita monitorear cientos de URLs en paralelo, va a chocar con ese tope y va a tener que paginar con múltiples consultas.
Pedir need_content: true en cada búsqueda infla el payload de respuesta porque trae el texto completo de cada resultado. Si solo necesitás decidir qué página abrir, conviene dejarlo en falso y usar Fetch después, solo sobre la URL que realmente vas a procesar.
Conclusión
DeepSeek suma a su API lo que hasta ahora exigía integrar un proveedor externo de búsqueda: acceso a la web en vivo con la misma llave y la misma facturación que el resto del modelo. Para quien ya construye agentes sobre DeepSeek, es una dependencia menos que mantener.
📖 Versión extendida con más detalle: https://elsolitario.org/2026/10/18/deepseek-lanza-search-api-y-fetch-api-para-agentes-y/?utm_source=telegraph&utm_medium=instant_view&utm_campaign=programacion