Buscar en un sitio en vivo
Busca en cualquier sitio ahora mismo: su portada, sus secciones y su propio buscador.
POST /v1/search/site busca en un sitio en vivo, no en el índice. Lee primero la portada; si no alcanza, el
modelo elige las secciones con más chances de cubrir el tema y prueba el buscador del propio sitio, en
paralelo. Las mejores candidatas se leen antes de ordenarlas, como en el modo normal.
Como puede tardar hasta un minuto, devuelve un trabajo. Consúltalo, espéralo con el SDK o recíbelo como flujo de eventos.
Espera el resultado
const res = await ts.siteSearchAndWait('lanacion.com.ar', 'el dólar', { mode: 'normal' });
console.log(res.results.length, res.site);O maneja el trabajo tú
curl https://api.typesearch.ai/v1/search/site \
-H "Authorization: Bearer $TYPESEARCH_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "site": "lanacion.com.ar", "query": "el dólar" }'
# 202 Accepted · Location: /v1/jobs/job_…
curl https://api.typesearch.ai/v1/jobs/job_… \
-H "Authorization: Bearer $TYPESEARCH_API_KEY"Un trabajo pasa de queued a running y a succeeded (con result) o failed (con error). Los
trabajos duran un día y sólo los ve la key que los creó.
O recíbelo como flujo
Con stream: true el pedido devuelve Server-Sent Events en vez de un trabajo:
pasos, resultados parciales y el resultado final.
for await (const event of ts.siteSearchStream('lanacion.com.ar', 'el dólar')) {
if (event.type === 'step') console.log(event.step.text);
}Límites y errores
Sólo leemos el sitio que pides y sus subdominios, con pedidos GET, y nunca intentamos pasar una
verificación antibots.
| Estado | code | Qué significa |
|---|---|---|
| 400 | invalid_site, site_not_found | El sitio no es una dirección pública válida. |
| 403 | robots_disallowed | El robots.txt del sitio no lo permite o no se pudo leer (lo reintentamos a los 10 minutos). |
| 502 | site_unreachable, bot_protection | El sitio no respondió, o respondió con un desafío antibots. |
| 504 | site_timeout | El sitio tardó demasiado. |