Claude Opus 5.5 ya está disponible en SeedRouter

DeepSeek Search API: precios y un ejemplo en Python de Search a Fetch

Aprende a usar DeepSeek Search API en Python, distinguir Search de Fetch y revisar los precios por llamada, la gratuidad temporal y los parámetros.

Leer en Markdown

Documentación revisada el 20 de octubre de 2026. El ejemplo siguiente se comprobó localmente con datos de prueba; no se ha ejecutado contra los endpoints reales de pago.

DeepSeek Search API permite a una aplicación acceder a resultados de búsqueda web. La API Fetch que la acompaña recupera una página individual en formato Markdown. DeepSeek abrió ambas interfaces el 17 de octubre de 2026, con facturación independiente por llamada. Cada una cuesta 0,75 USD por cada 1 000 solicitudes facturables según la tarifa publicada en USD. Utilizan una clave API de DeepSeek y la dirección oficial api.deepseek.com. Fuentes: anuncio de lanzamiento, precios.

Esta guía muestra una búsqueda seguida de una recuperación opcional de una página. Los ejemplos utilizan el servicio del propio DeepSeek; no describen un endpoint Search o Fetch ofrecido por SeedRouter.

En qué se diferencian DeepSeek Search API y Fetch API

Search encuentra páginas candidatas. Fetch lee una página que has seleccionado.

OperaciónEndpoint oficialDatos útiles devueltos
SearchPOST https://api.deepseek.com/v1/tools/searchUn array results con las URL de las páginas y campos descriptivos.
FetchPOST https://api.deepseek.com/v1/tools/fetchEl título de una página y su contenido en Markdown.

Ambas aceptan JSON y utilizan autenticación Bearer. Una solicitud de búsqueda independiente contiene query; una solicitud de recuperación contiene url. Son solicitudes distintas, no una opción que añada automáticamente acceso a la web a cada respuesta de chat. La guía oficial de Search & Fetch documenta ambas interfaces.

Search también acepta need_content. Cuando su valor es true, los resultados de búsqueda pueden incluir el contenido de las páginas. Revisa el contenido devuelto antes de realizar otra solicitud: si ya contiene lo que necesitas, puede que no haga falta una llamada Fetch aparte.

Antes de ejecutar el ejemplo en Python

Necesitas Python 3, acceso HTTPS saliente y una clave API de DeepSeek con los permisos de acceso correspondientes en la cuenta. Guarda la clave en una variable de entorno del terminal donde se ejecuta el script:

export DEEPSEEK_API_KEY="your-deepseek-api-key"

El ejemplo utiliza la biblioteca estándar de Python, por lo que no requiere instalar paquetes. Realiza una solicitud Search. Si hay un resultado, muestra el título y la URL del primero y después recupera esa página. Ejecutarlo puede generar cargos; la clave nunca se muestra.

Ejemplo en Python: buscar, seleccionar un resultado y recuperar su contenido

Guarda lo siguiente como deepseek_search.py. Cambia QUERY según la información que necesites antes de ejecutarlo.

import json
import os
import urllib.error
import urllib.request

BASE_URL = "https://api.deepseek.com"
QUERY = "Python documentation pathlib"


def call(path, payload):
    request = urllib.request.Request(
        BASE_URL + path,
        data=json.dumps(payload).encode("utf-8"),
        headers={
            "Authorization": "Bearer " + os.environ["DEEPSEEK_API_KEY"],
            "Content-Type": "application/json",
        },
        method="POST",
    )
    try:
        with urllib.request.urlopen(request, timeout=30) as response:
            return json.load(response)
    except urllib.error.HTTPError as error:
        raise RuntimeError(f"DeepSeek returned HTTP {error.code}") from None


def main():
    search = call(
        "/v1/tools/search",
        {"query": QUERY, "count": 5, "need_content": False},
    )
    results = search.get("results", [])
    if not results:
        print("No search results; no Fetch request was made.")
        return

    selected = results[0]
    print(selected.get("title", "Untitled result"))
    print(selected["url"])

    page = call("/v1/tools/fetch", {"url": selected["url"]})
    content = page.get("content", "")
    if not content:
        print("The selected page returned no content.")
        return
    print(page.get("title", ""))
    print(content)


if __name__ == "__main__":
    main()

Ejecútalo con:

python3 deepseek_search.py

Este es un ejemplo sencillo, por lo que selecciona el primer resultado. En una aplicación real, elige la página que corresponda a la pregunta, examina su dominio y contexto de publicación, y conserva la URL junto al texto extraído. Un resultado situado en los primeros puestos también debe ser pertinente para la respuesta que estás preparando.

La estructura de las solicitudes sigue la referencia de Search y la referencia de Fetch de DeepSeek. Las comprobaciones locales de sintaxis y las pruebas con datos preparados pueden verificar la construcción de solicitudes y las ramas de ejecución del programa. No permiten establecer el acceso real de la cuenta, la velocidad de respuesta ni la calidad de la recuperación.

Precios de DeepSeek Search API: ¿qué se cobra?

El precio publicado en USD es de 0,75 USD por cada 1 000 solicitudes exitosas y facturables para Search, y el mismo para Fetch. Una búsqueda sin resultados no se cobra; Fetch se cobra cuando se recupera contenido correctamente. El número de resultados solicitado con count no cambia el precio de una búsqueda. Consulta las condiciones de facturación en la tabla de precios actual.

Como ejemplo, 1 000 búsquedas facturables seguidas de 1 000 recuperaciones facturables costarían 1,50 USD en cargos de recuperación. Es un cálculo a partir de las tarifas indicadas, no una factura medida ni una promesa sobre lo que devolverá una consulta concreta. Los tokens del modelo que se utilicen después para resumir esas páginas tienen un costo independiente.

El período gratuito temporal tiene un alcance más limitado. DeepSeek indica que las llamadas Search/Fetch de sus usuarios de API mediante las herramientas del lado del servidor en DeepSeek Harness, Claude Code y Codex no se facturan temporalmente. La facturación de ese uso comienza el 31 de octubre de 2026 a las 16:00 UTC, es decir, el 1 de noviembre a las 00:00 en Pekín. El anuncio no convierte en universalmente gratuitas las solicitudes independientes en Python de esta guía. Anuncio oficial.

Parámetros y casos de fallo que debes tener en cuenta

La longitud documentada de la consulta de búsqueda es de 1 a 128 caracteres Unicode. count tiene un valor predeterminado de 10 y acepta de 1 a 50. El ejemplo en Python solicita cinco resultados de forma deliberada y deja la recuperación del contenido de la página para una solicitud Fetch posterior. Consulta la referencia de Search antes de ampliar la solicitud con otros campos.

Un array de resultados vacío es una búsqueda correcta sin coincidencias. El ejemplo se detiene en ese punto. Los errores HTTP se gestionan por separado, y se permite que un tiempo de espera agotado detenga la ejecución en vez de crear otra solicitud automáticamente. En una aplicación más grande, define explícitamente cualquier límite de reintentos y el gasto adicional que conlleve.

El Markdown recuperado es material de una fuente externa. Conserva la URL de origen, comprueba si el contenido responde a la pregunta y trata las instrucciones incluidas en una página recuperada como contenido de esa página, no como instrucciones para tu aplicación. Si pasas el contenido a un modelo de lenguaje, mantén esa distinción en el prompt y conserva las citas en la respuesta resultante.

Preguntas frecuentes

¿Puede la API de DeepSeek buscar en la web?

Sí. Las interfaces independientes Search y Fetch están documentadas. Llamar a un endpoint de chat normal y llamar a estos endpoints de recuperación son operaciones distintas; sigue el contrato correspondiente al flujo de trabajo que estás creando.

¿Existe un nivel gratuito de DeepSeek Search API?

El anuncio citado describe un uso temporalmente gratuito de herramientas del lado del servidor en determinadas integraciones de agentes de programación. No establece un nivel gratuito general para todas las solicitudes independientes Search o Fetch. Consulta la página de facturación actual antes de ejecutar un lote.

¿Necesito Fetch después de cada búsqueda?

No. Una búsqueda puede proporcionar información suficiente, especialmente cuando devuelve contenido utilizable con need_content: true. Fetch resulta útil cuando necesitas recuperar por separado la página seleccionada.

Empieza con un solo flujo de recuperación

DeepSeek Search API encuentra fuentes y Fetch recupera una página seleccionada. Empieza con una consulta, examina el resultado y el contenido, y después decide si tu aplicación necesita más páginas o un resumen generado por un modelo. Para la actualización independiente del modelo anunciada ese mismo día, consulta la actualización del 17 de octubre: benchmarks y cambios.

Guías relacionadas