[ search · extract ]● 2 cr/url · 30 req/min

Extracción de contenido de URLs

Pasa una o varias URLs y recibe contenido limpio y legible, sin navegación ni anuncios. Encaja en pipelines RAG, flujos de scrape-and-summarise de agentes o tareas de monitorización de contenido.

2 credits / URL30 req / minmax 25 URLs / callPOST /api/extract

Prueba Extract en directo

Una URL por línea. Introduce tu clave de API y envía para extraer el contenido.

auth · x-api-key

¿No tienes una clave API?

Inicia sesión en tu cuenta para crear y gestionar tus claves API.

2 URLs · 4 credits total

[ 02 · integrate ]

Guía de integración

Copia un fragmento, sustituye tu clave de API y ejecútalo. Funciona en cualquier cliente HTTP — ejemplos abajo en cURL, JavaScript y Python.

spec
POST/api/extract
base
https://www.apipick.com

Extract clean readable content from one or more URLs. Removes navigation, ads, and boilerplate. Returns markdown-flavoured text ready for LLM ingestion.

parámetros
urlsarray<string>obligatorio

1–25 http(s) URLs

extract_effortstringopcional

auto | low | high

response_lengthstringopcional

short | medium | long

curl -X POST "https://www.apipick.com/api/extract" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
  "urls": [
    "https://en.wikipedia.org/wiki/Retrieval-augmented_generation",
    "https://docs.anthropic.com/claude/docs/intro-to-claude"
  ],
  "extract_effort": "auto"
}'
● 200 · respuesta
{
  "results": [
    {
      "url": "https://en.wikipedia.org/wiki/Retrieval-augmented_generation",
      "title": "Retrieval-augmented generation - Wikipedia",
      "content": "Retrieval-augmented generation (RAG) is a technique…",
      "status": "ok"
    }
  ],
  "result_count": 1,
  "credits_used": 2,
  "remaining_credits": 98
}
[ 03 · limits ]

Límites de tasa

La limitación es por clave de API, ventana deslizante de 60 segundos. Al alcanzar el límite recibes un 429 limpio con una cabecera Retry-After.

tasa de peticiones

30req/min

Por clave de API, por endpoint. Ventana deslizante de 60 segundos.

concurrencia

3concurrent

Máximo de peticiones simultáneas en curso por clave de API.

cabeceras de respuesta
X-RateLimit-LimitMáximo de peticiones permitidas por minuto
X-RateLimit-RemainingPeticiones restantes en la ventana actual
X-RateLimit-ResetSegundos hasta que se reinicia la ventana actual
Retry-AfterSegundos a esperar antes de reintentar (solo en 429)
● 429 · demasiadas peticiones
HTTP/1.1 429 Too Many Requests
Retry-After: 12
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 12

{
  "error": "rate_limit_exceeded",
  "message": "Rate limit exceeded: 30 requests/minute per API key. Retry after 12s.",
  "retry_after": 12
}

Preguntas frecuentes

¿Cómo se cobran los créditos?

2 créditos por cada URL enviada. Una sola llamada con 5 URLs cuesta 10 créditos. Máximo 25 URLs por llamada.

¿Qué aspecto tiene la respuesta?

Un array de objetos { url, title, content, status }. content es texto legible y limpio (con formato markdown), sin elementos accesorios. Apto para consumo directo por un LLM.

¿Puedo controlar la profundidad de la extracción?

Pasa extract_effort (auto, low, high). 'auto' es el valor por defecto y funciona para la mayoría de páginas. 'high' es más lento, pero hace un trabajo más exhaustivo en páginas con mucho JS o con estilo de muro de pago.

¿Qué ocurre si falla una URL?

Las URLs fallidas devuelven status con un código de error dentro del array de resultados, pero la llamada en su conjunto se completa con éxito. Se cobran créditos por todas las URLs enviadas, independientemente del resultado de cada una.

¿Existe un esquema tool?

GET /api/extract/tool-schema devuelve las definiciones de function calling de OpenAI y tool use de Claude.