Saltar al contenido principal
POST https://api.acedata.cloud/webextrator/render

Autenticación

Agregue en el encabezado de la solicitud Authorization: Bearer <tu API Key>.

Parámetros de la solicitud

CampoTipoObligatorioPredeterminadoDescripción
urlstring-URL de la página a renderizar
user_agentstringPredeterminado del sistemaUser-Agent personalizado
timeoutnumber30000Tiempo máximo de renderizado por solicitud (milisegundos), máximo 120000
wait_untilstringloadEvento de carga completada: load/domcontentloaded/networkidle
delaynumber0Tiempo de espera adicional tras la carga completada (milisegundos), máximo 30000
wait_for_selectorstring-Esperar a que aparezca este selector CSS
block_resourcesstring[]-Tipos de recursos a bloquear: image/media/font/stylesheet, etc.
headersobject-Encabezados HTTP adicionales
cookiesarray-Lista de cookies, cada elemento con la forma {name, value, domain, path}
callback_urlstring-URL para callback en modo asíncrono; si se proporciona, retorna inmediatamente el ID de tarea y el resultado se envía mediante POST

Respuesta síncrona (sin callback_url)

{
  "success": true,
  "task_id": "550e8400-e29b-41d4-a716-446655440000",
  "trace_id": "550e8400-e29b-41d4-a716-446655440001",
  "started_at": "2026-05-02T10:30:00.123Z",
  "finished_at": "2026-05-02T10:30:05.456Z",
  "elapsed": 5.333,
  "data": {
    "kind": "render",
    "url": "https://example.com",
    "title": "Example Domain",
    "html": "<!doctype html>...",
    "text": "Example Domain ...",
    "markdown": "# Example Domain\n...",
    "screenshot": "data:image/png;base64,iVBORw0K...",
    "links": ["https://www.iana.org/domains/example"]
  }
}

Modo asíncrono (con callback_url)

Respuesta inicial:
{
  "success": true,
  "task_id": "550e8400-e29b-41d4-a716-446655440000",
  "trace_id": "550e8400-e29b-41d4-a716-446655440001",
  "started_at": "2026-05-02T10:30:00.123Z"
}
El encabezado de la respuesta incluirá x-usage-exempt: true, indicando que este handshake síncrono no genera cobro. Cuando la tarea se complete realmente, la plataforma enviará un POST a la callback_url con el cuerpo de la solicitud que incluye el campo data de la respuesta síncrona, junto con los campos task_id, trace_id, started_at, finished_at y elapsed.

Respuesta de error

{
  "success": false,
  "task_id": "550e8400-e29b-41d4-a716-446655440000",
  "trace_id": "550e8400-e29b-41d4-a716-446655440001",
  "started_at": "2026-05-02T10:30:00.123Z",
  "error": {
    "code": "timeout",
    "message": "page load timed out after 30000ms"
  }
}
Códigos de error: bad_request / forbidden / too_many_requests / not_found / api_error / timeout / unknown / busy.

Ejemplo

curl -X POST https://api.acedata.cloud/webextrator/render \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "wait_until": "networkidle",
    "block_resources": ["image", "media", "font"]
  }'