Buscar en el índice
Consultas, filtros y cómo leer cada resultado.
POST /v1/search busca en el índice y devuelve las notas relevantes, de más a menos relevante.
const res = await ts.search('Boca Juniors', {
mode: 'fast',
max_results: 10,
include_domains: ['infobae.com/deportes', 'lanacion.com.ar'],
days: 3,
});Cómo escribir la consulta
Una consulta es un tema, no una pregunta: el dólar, Boca Juniors, la visita del papa. Entre 2 y 200
caracteres.
Para encontrar más, escríbela como la escribiría la cobertura que buscas: en español para la prensa argentina, con el nombre que usan los titulares. Las siglas y las paráfrasis aparecen menos que el nombre mismo.
Filtros
Los filtros se aplican antes de juzgar nada: lo que filtras no cuesta.
| Filtro | Ejemplo | Notas |
|---|---|---|
include_domains | ["lanacion.com.ar", "infobae.com/economia"] | Un dominio incluye sus subdominios; una ruta, todo lo que cuelga de ella. Hasta 20. |
exclude_domains | ["perfil.com"] | Las mismas reglas. |
sections | ["economia", "politica"] | La sección que declara la fuente, o el primer tramo de la ruta. |
days | 3 | Los últimos N días. null busca en todo el índice. Por defecto, 7. |
published_after, published_before | "2026-09-20" | Una fecha sola cubre el día entero; una fecha y hora necesita la zona. |
sources | ["lanacion", "infobae"] | Ids de GET /v1/sources. |
Un dominio que no está en el índice vuelve como un aviso domain_not_indexed en warnings, no como un
error.
Cómo leer los resultados
Cada resultado trae un score: la probabilidad calibrada de que la nota trate de tu consulta. Sale de
la nota si se leyó (read viene completo) y del titular si no. Los resultados son las notas con 0.5 o
más:
score | Qué significa |
|---|---|
| 0.65 – 1 | Relevante. |
| 0.5 – 0.65 | Sin decidir. Se devuelve, pero el modelo no está seguro: no tomes 0.56 como un sí débil. |
Calibrada quiere decir que puedes ponerle un umbral: entre muchos resultados con 0.9, cerca de nueve de
cada diez son relevantes. Si tu agente necesita certeza, quédate con los de más de 0.8, o usa el modo
normal para que los mejores se lean antes de ordenarlos.
Además de results, la respuesta cuenta qué pasó en los bordes:
rejected: notas cuyo titular parecía relevante pero que quedaron por debajo de0.6al leerlas.near_misses: si nada llega a0.5, lo que más se acercó (desde0.15), para que tu agente decida si ampliar la consulta.total: cuántas notas relevantes hay, que pueden ser más quemax_results.
Fragmentos
En normal y deep, con highlights: true recibes hasta dos fragmentos textuales por nota leída, de hasta
280 caracteres: los párrafos que tratan de tu consulta. Se citan, nunca se reescriben.
const res = await ts.search('el Presupuesto 2027', { mode: 'normal', highlights: true });
console.log(res.results[0]?.highlights);