DeepSeek acaba de completar su API con dos piezas que le faltaban: búsqueda y lectura de páginas web en vivo. La Search API de DeepSeek y su compañera, la Fetch API, llegan bajo el mismo token Bearer que ya usan los desarrolladores para chat completions, sobre el motor de búsqueda que la empresa opera de forma interna, sin pasar por Google, Bing ni un proveedor externo como SerpAPI o Tavily.
La guía oficial describe dos endpoints REST: uno busca en la web y devuelve resultados estructurados, el otro toma una URL puntual y la convierte en Markdown. Juntos resuelven lo que antes exigía ensamblar herramientas de terceros.
TL;DR
- DeepSeek lanza la Search API y la Fetch API, dos endpoints REST para que agentes busquen y lean la web.- La Search API usa el motor de búsqueda propio de DeepSeek y acepta operadores como site:, lang:, after: y before:.- Cada resultado trae un rerank_score de 0 a 3 que mide relevancia, autoridad y frescura combinadas.- Fetch API convierte una sola página web en Markdown listo para que el modelo la lea sin parsear HTML.- Ambos endpoints se autentican con el mismo Bearer token que usa el resto de la API de DeepSeek.
Qué es la Search API de DeepSeek
La Search API de DeepSeek es un endpoint REST que devuelve resultados de búsqueda web estructurados (título, URL, resumen y una puntuación de relevancia) a partir de una consulta de texto, usando el motor de búsqueda que la compañía opera internamente.
Es, en palabras de la propia documentación oficial, una API JSON cruda: no hay capa de chat ni function calling automático de por medio. El desarrollador decide cuándo llamarla, qué hacer con los resultados y en qué momento pasarlos al modelo como contexto, igual que con cualquier integración de RAG armada a mano.
DeepSeek expone ambos endpoints bajo la misma base api.deepseek.com, sin dominio aparte.
Qué pasó
La documentación publicada por DeepSeek detalla dos rutas nuevas bajo la misma base que el resto de la plataforma: POST https://api.deepseek.com/v1/tools/search para buscar, y POST https://api.deepseek.com/v1/tools/fetch para leer una página puntual. Ambas usan la cabecera Authorization: Bearer <DeepSeek API Key> y Content-Type: application/json, exactamente como las llamadas de chat completions.
No es un modelo nuevo ni una actualización de V3 o R1: es infraestructura de soporte, pensada para que agentes y aplicaciones de recuperación aumentada (RAG) consulten la web vigente sin salir del ecosistema de DeepSeek ni sumar un proveedor de búsqueda aparte.
Contexto e historia
DeepSeek construyó su reputación con modelos de pesos abiertos (V3, R1 y sus variantes) ofrecidos a precios muy por debajo de la competencia estadounidense. Pero un modelo, por sí solo, no resuelve que la información cambia todos los días: para responder sobre algo de esta semana, un agente necesita buscar en la web en el momento de la consulta, no solo recordar lo que vio durante el entrenamiento.
Otros laboratorios ya resolvieron esa pieza para sus propios modelos: OpenAI integró navegación web en su API de Responses, Anthropic ofrece una herramienta de búsqueda web nativa para Claude, y Google conecta Gemini con su propio índice mediante grounding. Hasta ahora, un desarrollador que quisiera lo mismo con DeepSeek tenía que contratar aparte una API de búsqueda como Bing, SerpAPI, Tavily o Exa, y después unir esos resultados al prompt a mano. El buscador propio de DeepSeek cierra esa brecha sin que el desarrollador salga de la cuenta que ya tiene.
Detalles técnicos: cómo funciona el buscador propio de DeepSeek
La consulta (query) acepta entre 1 y 128 caracteres Unicode y se reenvía casi intacta al índice interno, lo que significa que los operadores de búsqueda no los procesa DeepSeek: los interpreta el motor que hay detrás. Eso incluye site: y -site: para incluir o excluir dominios, comillas para frases exactas o su negación con -\"frase\", lang: para restringir idioma, y after:/before: para acotar por fecha. Todos se combinan en una sola cadena, por ejemplo DeepSeek site:github.com OR site:huggingface.co lang:en after:2025.
💡 Tip: combinar after: con lang:es es la forma más directa de filtrar ruido cuando el agente solo necesita noticias recientes en español.
Cada resultado trae un campo rerank_score de 0 a 3 que combina señales de relevancia, autoridad y frescura; según la documentación oficial, un puntaje de 1.5 o más ya se considera de alta calidad. El campo snippet es un resumen corto (entre 100 y 200 caracteres) pensado para una interfaz, mientras que summary es más largo (entre 600 y 800 caracteres) y está pensado para que lo lea el modelo directamente.
El parámetro que más cambia el costo de la llamada es need_content. En false (el valor por defecto), el campo content siempre llega vacío: la API solo devuelve metadatos y resúmenes. En true, DeepSeek además descarga la página completa y la entrega en el mismo array de resultados, lo que suma latencia y tokens de contexto si el agente va a pasarle ese contenido al modelo. La Fetch API resuelve el caso en que ya se conoce la URL exacta: en vez de buscar, pide directamente esa página y la devuelve convertida a Markdown, sin el resto de los campos de un resultado de búsqueda.
EndpointCuándo usarloVentajaLimitaciónSearch API (/v1/tools/search)No se conoce la URL, hay que descubrir qué página responde la consultaDevuelve varios candidatos con rerank_score para elegirSin need_content no trae el texto completoFetch API (/v1/tools/fetch)Ya se tiene la URL (de un resultado de Search o de una cita del usuario)Devuelve la página entera en Markdown, lista para el modeloUna sola página por llamada, no busca nada
sequenceDiagram
participant A as Agente o app
participant S as Search API
participant M as Motor interno de DeepSeek
participant F as Fetch API
A->>S: POST /v1/tools/search (query, count)
S->>M: ejecuta la consulta con operadores
M-->>S: resultados con rerank_score
S-->>A: results en JSON
A->>F: POST /v1/tools/fetch (url)
F-->>A: pagina convertida a Markdown
curl https://api.deepseek.com/v1/tools/search \
-H "Authorization: Bearer $DEEPSEEK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "DeepSeek Search API site:github.com after:2026",
"count": 5,
"need_content": false
}'
La documentación ilustra la forma de la respuesta con un ejemplo (no son datos de producción, solo el esquema): un array results donde cada elemento trae rerank_score, title, url, snippet, summary, site_name y date. Una búsqueda sin coincidencias no da error: devuelve results: [] con HTTP 200, que es también la forma más simple de confirmar que una cuenta tiene el acceso habilitado. Un 401 en esa misma llamada indica que el Bearer token no tiene el scope de búsqueda activo.
📌 Nota: al ser una API JSON cruda y no una herramienta de function calling, el modelo de DeepSeek no decide solo cuándo buscar: es el código del agente el que llama a /v1/tools/search y después arma el prompt con lo que recibe.
Con need_content en false, el campo content de cada resultado llega siempre vacío.Impacto y análisis
Para un desarrollador que ya paga por los modelos de DeepSeek, la ganancia inmediata es operativa: un proveedor menos que facturar, un token menos que rotar, y una API con el mismo formato de autenticación que el resto de la plataforma. Eso simplifica el stack de un agente que antes necesitaba la clave de DeepSeek para generar texto y la clave de otro proveedor solo para buscar.
La contrapartida es que la calidad de los resultados depende por completo del índice propio de DeepSeek, que no tiene el historial ni la cobertura documentada públicamente de Google o Bing. La guía tampoco especifica un precio separado para estos endpoints más allá de lo que ya cuesta la cuenta de API: hasta la fecha de este artículo no hay un apartado de pricing propio para Search y Fetch en la documentación pública, así que conviene revisar la sección de precios antes de meter el buscador propio de DeepSeek en un flujo con volumen alto de llamadas.
También hay una arista de privacidad poco comentada: el parámetro localization acepta una IP para ajustar resultados por geografía, lo que implica que, si un agente reenvía la IP real del usuario final, esa dirección queda en la solicitud a DeepSeek igual que pasaría con cualquier buscador que geolocalice consultas.
Qué sigue
Lo que falta por confirmar es si DeepSeek va a exponer estos dos endpoints como function calling nativo dentro de chat completions, para que el modelo decida solo cuándo buscar en vez de que lo orqueste el código del agente, y si va a publicar límites de tasa y una tabla de precios dedicada. También queda por verse si otros laboratorios de pesos abiertos con enfoque similar en costo responden empaquetando su propio buscador en lugar de dejarlo en manos de integraciones de terceros.
📖 Resumen en Telegram: Ver resumen
Probalo vos: hacé un POST a https://api.deepseek.com/v1/tools/search con tu API key y una consulta con site: para ver el array de results antes de conectarlo a un agente en producción.
Preguntas frecuentes
¿Qué hace la Search API de DeepSeek que no haga una búsqueda normal en Google?
Responde en JSON estructurado pensado para que lo lea un modelo, no una persona: cada resultado trae rerank_score, summary y, si se pide, el contenido completo de la página. Usa los mismos operadores de búsqueda (site:, lang:, after:) pero bajo la cuenta y la facturación que ya tiene el desarrollador con DeepSeek.
¿Cómo se autentica la Fetch API de DeepSeek?
Con el mismo esquema que el resto de la plataforma: una cabecera Authorization: Bearer y Content-Type: application/json. No existe una clave separada para búsqueda o fetch.
¿Qué significa el rerank_score que devuelve el buscador propio de DeepSeek?
Es un número de 0 a 3 que combina relevancia, autoridad y frescura de cada página. Según la documentación oficial, 1.5 o más indica un resultado de alta calidad; valores más bajos no significan que la página esté rota, solo que el sistema la considera menos relevante para esa consulta puntual.
¿El buscador propio de DeepSeek reemplaza un pipeline de RAG completo?
No. Cubre la parte de recuperación de contenido público de la web vigente, pero no reemplaza embeddings, bases vectoriales ni el chunking de documentos privados. Para datos propios de una empresa, sigue siendo complementario a un pipeline de RAG tradicional, no un sustituto.
¿Qué pasa si need_content queda en false al llamar al buscador propio de DeepSeek?
El campo content de cada resultado llega vacío; solo se completa cuando need_content se manda en true, lo que además suma latencia porque DeepSeek tiene que descargar la página completa antes de responder.
Referencias
- DeepSeek API Docs: guía oficial de Search y Fetch API, con esquemas de request y response.- DeepSeek API Docs: catálogo completo de endpoints de la plataforma, incluida la autenticación Bearer.- DeepSeek: sitio oficial de la compañía y sus modelos.- Wikipedia: historia y contexto de DeepSeek como laboratorio de IA.
📱 ¿Te gusta este contenido? Únete a nuestro canal de Telegram @programacion donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.
Top comments (0)