Migrar desde Perplexity

Mantén el SDK de Perplexity para la Search API. Cambia la dirección base y la key.

typesearch habla la Search API de Perplexity (POST /search): los resultados ordenados, no las respuestas generadas de Sonar. Con el SDK oficial, migrar es una línea.

from perplexity import Perplexity

# antes: client = Perplexity()
client = Perplexity(api_key=TYPESEARCH_API_KEY, base_url="https://api.typesearch.ai/compat/perplexity")

r = client.search.create(query=["el dólar", "el FMI"], max_results=5, search_recency_filter="week")

También puedes definir PERPLEXITY_BASE_URL en vez de cambiar el código.

Parámetros

PerplexityEn typesearch
query (una, o hasta 5)Igual. Varias consultas se juzgan juntas; los resultados vienen en una sola lista.
max_results (1–20)Igual.
search_domain_filterIgual: sin prefijo incluye, con - excluye, rutas incluidas. Mezclar las dos cosas es un error, como en Perplexity.
search_recency_filterhour, day, week, month, year.
search_after_date_filter, search_before_date_filterIgual (MM/DD/YYYY). last_updated_* se toma como fecha de publicación (approximated:).
countrySólo medios de ese país (approximated:country: Perplexity lo toma como región preferida; acá filtra).
search_language_filterIgual: sólo notas en esos idiomas.
max_tokens, max_tokens_per_page, search_context_sizeSe ignoran: los extractos son siempre breves.
search_type: "web", "fast"Los dos corren en nuestro modo fast.
search_type: "people"Un error: el índice es de noticias.

Sin filtro de fecha busca en todo el índice, como Perplexity, en el modo fast.

Lo que cuesta

Perplexity cobra su Search API $5 cada 1.000 pedidos, o $1 con Fast Search (search_type: "fast"), y un pedido puede llevar hasta cinco consultas (precios de lista revisados el 25 de septiembre de 2026). Acá cada consulta es una búsqueda de su modo: $1,40 cada 1.000 en fast, el modo que usa la capa de compatibilidad, $1,00 en ultra, que juzga sólo titulares, y $2,20 en normal, que lee los 4 mejores antes de ordenarlos. Para búsquedas sueltas de titulares, la Fast Search de Perplexity cuesta lo mismo que nuestro ultra (se elige con "mode": "ultra" en los extras de abajo) y menos que nuestro fast; con varias consultas por pedido cuesta menos, porque cobra el pedido y nosotros cada consulta. Lo que da la diferencia es un índice de noticias con la hora de publicación y el medio en cada resultado, una probabilidad de relevancia calibrada y, en normal y deep, resultados leídos y verificados antes de ordenarlos.

Lo nuestro

Con el SDK de Perplexity, envíalo con extra_body:

r = client.search.create(query="el dólar", extra_body={"typesearch": {"tone": True, "mode": "normal"}})

Vuelve en un campo typesearch de la respuesta. Los errores mantienen el formato de Perplexity: 422 con detail[] al validar, error en lo demás.

En esta página