> ## Documentation Index
> Fetch the complete documentation index at: https://firecrawl-capy-docs-factual-copy-fixes.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Agente

> ¿Eres un agente de IA que necesita una clave de API de Firecrawl? Consulta [firecrawl.dev/agent-onboarding/SKILL.md](https://www.firecrawl.dev/agent-onboarding/SKILL.md) para ver instrucciones de incorporación automatizada.


## OpenAPI

````yaml es/api-reference/v2-openapi.json POST /agent
openapi: 3.0.0
info:
  contact:
    email: support@firecrawl.dev
    name: Firecrawl Support
    url: https://firecrawl.dev/support
  description: >-
    API para interactuar con los servicios de Firecrawl y realizar tareas de
    scraping y rastreo web.
  title: Firecrawl API
  version: v2
servers:
  - url: https://api.firecrawl.dev/v2
security:
  - bearerAuth: []
paths:
  /agent:
    post:
      tags:
        - Agent
      summary: Inicia una tarea de agente para la extracción de datos mediante agentes
      operationId: startAgent
      requestBody:
        content:
          application/json:
            schema:
              properties:
                auditMetadata:
                  $ref: '#/components/schemas/AuditMetadata'
                effort:
                  description: >-
                    Presupuesto de razonamiento para la tarea del agente. Cada
                    ejecución se realiza en spark-2, por lo que se puede enviar
                    effort con o sin especificar el modelo.
                  enum:
                    - low
                    - medium
                    - high
                  type: string
                exchange:
                  additionalProperties: false
                  description: >-
                    Permite que el agente llame a los providers de datos de
                    [Alexandria](https://docs.firecrawl.dev/features/alexandria)
                    de tu equipo durante la ejecución. Sin este objeto, la
                    ejecución usa solo la web (un turno de seguimiento hereda
                    los ajustes del turno anterior). Consulta [Usa tus
                    herramientas conectadas de
                    Alexandria](https://docs.firecrawl.dev/features/agent#use-your-connected-alexandria-tools).
                  properties:
                    approve:
                      additionalProperties: false
                      description: >-
                        Responde afirmativamente al `pendingApproval` con el que
                        terminó el turno anterior de este hilo. Requiere
                        `threadId`.
                      properties:
                        always:
                          default: false
                          description: >-
                            Deja de solicitar aprobación durante el resto del
                            hilo. Se ignora en una aprobación de tipo `terms`.
                          type: boolean
                        approvalId:
                          description: El `pendingApproval.id` al que responder.
                          format: uuid
                          type: string
                        callIds:
                          description: >-
                            Ejecuta solo estas llamadas incluidas en la
                            solicitud de aprobación. De forma predeterminada, se
                            ejecutan todas. Se ignora en una aprobación de tipo
                            `terms`.
                          items:
                            type: string
                          type: array
                      required:
                        - approvalId
                      type: object
                    decline:
                      additionalProperties: false
                      description: >-
                        Responde negativamente al `pendingApproval` con el que
                        terminó el turno anterior de este hilo. Requiere
                        `threadId`. Si se rechaza una oferta de tipo `terms`,
                        sus providers quedan excluidos del resto del hilo.
                      properties:
                        approvalId:
                          description: El `pendingApproval.id` al que responder.
                          format: uuid
                          type: string
                      required:
                        - approvalId
                      type: object
                    enabled:
                      default: true
                      description: >-
                        Permite que el agente llame a los providers de
                        Alexandria. El valor predeterminado es `true` cuando se
                        envía `exchange`; envía `false` para desactivar los
                        providers durante un turno de un hilo.
                      type: boolean
                    maxCalls:
                      default: 16
                      description: >-
                        Número máximo de llamadas a providers que el agente
                        puede realizar en este turno.
                      maximum: 30
                      minimum: 1
                      type: integer
                    onTermsRequired:
                      default: skip
                      description: >-
                        Qué hacer cuando un provider que el agente usaría
                        requiere condiciones de uso de datos que tu equipo no ha
                        aceptado. Nunca se llama a esos providers. `skip`
                        responde usando los providers cuyas condiciones se han
                        aceptado y enumera los demás en
                        `exchange.skippedProviders`; `ask` también finaliza el
                        turno con un `pendingApproval` de tipo `terms` y
                        `exchange.requiresAction`. Si se omite en un turno de
                        seguimiento, se conserva el valor del turno anterior.
                        Consulta [Providers de datos que requieren
                        condiciones](https://docs.firecrawl.dev/features/agent#data-providers-that-need-terms).
                      enum:
                        - skip
                        - ask
                      type: string
                    requireApproval:
                      default: false
                      description: >-
                        Antes de cualquier llamada de pago a un provider,
                        finaliza el turno con un `pendingApproval` de tipo
                        `calls` que puedes aprobar o rechazar en el siguiente
                        turno. Requiere `mode: "chat"` en la misma solicitud,
                        también en los turnos de seguimiento.
                      type: boolean
                    toolkits:
                      description: >-
                        Selecciona hasta 5 providers por slug, por ejemplo
                        `["apollo"]`. El agente usará solo esos. Si el valor
                        está vacío o se omite, se incluyen todos los providers
                        que tu equipo puede usar.
                      items:
                        type: string
                      maxItems: 5
                      type: array
                  type: object
                maxCredits:
                  description: >-
                    Créditos máximos que se pueden gastar en esta tarea del
                    agente. El valor predeterminado es 2500 si no se especifica.
                    Los valores superiores a 2.500 siempre se facturan como
                    solicitudes de pago.
                  type: number
                mode:
                  default: extract
                  description: >-
                    `extract` devuelve el resultado estructurado completo en
                    `data` en cada turno. `chat` permite responder brevemente en
                    `message` a una solicitud de seguimiento que no pida datos
                    nuevos, sin volver a ejecutar la tarea.
                    `exchange.requireApproval` requiere `chat` en la misma
                    solicitud. Si se omite en un turno de seguimiento, se
                    conserva el modo del hilo.
                  enum:
                    - extract
                    - chat
                  type: string
                model:
                  default: spark-2
                  description: >-
                    El modelo que utilizará el agente para la tarea. spark-2 es
                    el predeterminado y el modelo que utiliza cada ejecución.
                    Los nombres de modelos Spark 1 siguen aceptándose por
                    compatibilidad con versiones anteriores, pero están
                    obsoletos y se redirigen a spark-2.
                  enum:
                    - spark-2
                    - spark-1-mini
                    - spark-1-pro
                  type: string
                prompt:
                  description: El prompt que describe los datos que se van a extraer
                  maxLength: 10000
                  type: string
                schema:
                  description: Esquema JSON opcional para estructurar los datos extraídos
                  type: object
                strictConstrainToURLs:
                  description: >-
                    Si es true, el agente solo visitará las URL proporcionadas
                    en el array urls
                  type: boolean
                threadId:
                  description: >-
                    Continúa un hilo existente: pasa el `threadId` devuelto por
                    una ejecución anterior y esta solicitud se ejecutará como el
                    siguiente turno de ese hilo. Si se omiten los ajustes de
                    `urls`, `schema`, `effort`, `mode` y `exchange`, se
                    conservarán los del turno anterior. Omite `threadId` para
                    iniciar un nuevo hilo.
                  format: uuid
                  type: string
                threatProtection:
                  $ref: '#/components/schemas/ThreatProtectionOverride'
                urls:
                  description: Lista opcional de URLs a las que se limitará el agente
                  items:
                    format: uri
                    type: string
                  type: array
                webhook:
                  description: >-
                    Un objeto de especificación de webhook. Se suscribe a
                    eventos del ciclo de vida del agente (agent.started,
                    agent.action, agent.completed, agent.failed,
                    agent.cancelled).
                  properties:
                    events:
                      default:
                        - started
                        - action
                        - completed
                        - failed
                        - cancelled
                      description: >-
                        Los eventos que se enviarán a la URL del webhook. De
                        forma predeterminada, se envían todos los eventos.
                      items:
                        enum:
                          - started
                          - action
                          - completed
                          - failed
                          - cancelled
                        type: string
                      type: array
                    headers:
                      additionalProperties:
                        type: string
                      description: Cabeceras que se enviarán a la URL del webhook.
                      type: object
                    metadata:
                      additionalProperties:
                        type: string
                      description: >-
                        Metadatos personalizados que se incluirán en todas las
                        cargas útiles de webhook para este trabajo del agente.
                      type: object
                    url:
                      description: La URL a la que se enviarán los eventos de webhook.
                      format: uri
                      type: string
                  required:
                    - url
                  type: object
              required:
                - prompt
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  id:
                    format: uuid
                    type: string
                  success:
                    type: boolean
                  threadId:
                    description: >-
                      El hilo al que pertenece esta ejecución. Pásalo como
                      `threadId` para continuar el hilo.
                    format: uuid
                    type: string
                  threadTurn:
                    description: El turno de esta ejecución en el hilo, empezando por 1.
                    type: integer
                type: object
          description: La tarea del agente se inició correctamente
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: 'Invalid JSON schema: ...'
                    type: string
                type: object
          description: >-
            Solicitud incorrecta — el cuerpo de la solicitud no superó la
            validación (por ejemplo, un esquema JSON no válido).
        '402':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Payment required to access this resource.
                    type: string
                type: object
          description: Se requiere pago
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: >-
                      This URL (https://example.com) is blocked by your
                      organization's threat protection policy (rule: blocklist).
                      If you believe this is a mistake, contact your
                      organization administrator to adjust the policy (e.g.
                      whitelist the domain).
                    type: string
                type: object
          description: >-
            Prohibido — una URL proporcionada está bloqueada por la política de
            Protección contra amenazas del equipo.
        '429':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Rate limit exceeded.
                    type: string
                type: object
          description: Demasiadas solicitudes
        '500':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Failed to passthrough agent request.
                    type: string
                type: object
          description: >-
            Error interno del servidor — no se pudo acceder al servicio del
            agente.
      security:
        - bearerAuth: []
components:
  schemas:
    AuditMetadata:
      additionalProperties: false
      description: >-
        Atribución de usuario incluida en los eventos de registro SIEM cuando
        SIEM Logging está habilitado para la organización.
      properties:
        username:
          description: El nombre de usuario asociado a la solicitud.
          maxLength: 1024
          type: string
      required:
        - username
      type: object
    ThreatProtectionOverride:
      description: >-
        Anulación por solicitud de [Protección contra
        amenazas](https://docs.firecrawl.dev/features/threat-protection). Los
        campos que proporciones reemplazan los campos correspondientes de la
        política de tu organización solo para esta solicitud; los campos
        omitidos conservan sus valores a nivel de organización. Requiere que
        Protección contra amenazas esté habilitada para tu equipo (función
        enterprise); de lo contrario, la solicitud se rechaza con un 403. Si tu
        organización ha deshabilitado las anulaciones por solicitud, cualquier
        solicitud que incluya este objeto se rechaza con un 403. Si Protección
        contra amenazas se aplica de forma obligatoria a tu equipo, `mode` no
        puede establecerse en `off`.
      properties:
        blacklist:
          description: >-
            Dominios que siempre se deben bloquear, como dominios simples
            (`example.com`) o patrones con comodines (`*.example.com`). Sin
            protocolo, ruta ni puerto.
          items:
            type: string
          maxItems: 1000
          type: array
        blockedTlds:
          description: >-
            Dominios de nivel superior que se bloquean directamente, en
            minúsculas y sin el punto inicial (p. ej., `zip`).
          items:
            type: string
          maxItems: 1000
          type: array
        failurePolicy:
          description: >-
            Qué hacer cuando no se puede acceder al clasificador: `closed`
            bloquea la solicitud; `open` la permite.
          enum:
            - open
            - closed
          type: string
        mode:
          description: >-
            Modo de análisis de URL para esta solicitud. `normal` verifica las
            URL con Google Web Risk (+2 créditos por URL analizada).
          enum:
            - 'off'
            - normal
          type: string
        riskScoreThreshold:
          description: >-
            Puntuación de riesgo normalizada (0–100) a partir de la cual el
            veredicto de un clasificador bloquea la URL. Cuanto más bajo, más
            estricto.
          example: 75
          maximum: 100
          minimum: 0
          type: integer
        whitelist:
          description: >-
            Dominios que siempre se deben permitir, como dominios simples o
            patrones con comodines. Tiene prioridad sobre cualquier otra regla.
          items:
            type: string
          maxItems: 1000
          type: array
      title: Threat Protection Override
      type: object
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.