> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firecrawl.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Search

> Nota: Ya está disponible una [versión v2 de esta API](/es/api-reference/endpoint/search) con funciones y rendimiento mejorados.

El punto de conexión /search combina la búsqueda web con las capacidades de scraping de Firecrawl para devolver el contenido completo de la página para cualquier consulta.

Incluye `scrapeOptions` con `formats: ["markdown"]` para obtener el contenido completo en Markdown de cada resultado de búsqueda; de lo contrario, de forma predeterminada recibirás los resultados (url, title, description).

<div id="supported-query-operators">
  ## Operadores de consulta compatibles
</div>

Ofrecemos una variedad de operadores de consulta que te permiten filtrar mejor tus búsquedas.

| Operador      | Funcionalidad                                                                   | Ejemplos                          |
| ------------- | ------------------------------------------------------------------------------- | --------------------------------- |
| `""`          | Hace una coincidencia exacta de una cadena de texto                             | `"Firecrawl"`                     |
| `-`           | Excluye ciertas palabras clave o niega otros operadores                         | `-bad`, `-site:firecrawl.dev`     |
| `site:`       | Devuelve solo resultados de un sitio web específico                             | `site:firecrawl.dev`              |
| `inurl:`      | Devuelve solo resultados que incluyan una palabra en la URL                     | `inurl:firecrawl`                 |
| `allinurl:`   | Devuelve solo resultados que incluyan varias palabras en la URL                 | `allinurl:git firecrawl`          |
| `intitle:`    | Devuelve solo resultados que incluyan una palabra en el título de la página     | `intitle:Firecrawl`               |
| `allintitle:` | Devuelve solo resultados que incluyan varias palabras en el título de la página | `allintitle:firecrawl playground` |
| `related:`    | Devuelve solo resultados relacionados con un dominio específico                 | `related:firecrawl.dev`           |

<div id="location-parameter">
  ## Parámetro de ubicación
</div>

Usa el parámetro `location` para obtener resultados de búsqueda con orientación geográfica. Formato: `"string"`. Ejemplos: `"Germany"`, `"San Francisco,California,United States"`.

Consulta la [lista completa de ubicaciones admitidas](https://firecrawl.dev/search_locations.json) para ver todos los países e idiomas disponibles.

<div id="time-based-search">
  ## Búsqueda por tiempo
</div>

Usa el parámetro `tbs` para filtrar los resultados por periodos de tiempo, incluidos los rangos de fechas personalizados. Consulta la [documentación de la función de búsqueda](https://docs.firecrawl.dev/features/search#time-based-search) para ver ejemplos detallados y los formatos compatibles.


## OpenAPI

````yaml es/api-reference/v1-openapi.json POST /search
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: v1
servers:
  - url: https://api.firecrawl.dev/v1
security:
  - bearerAuth: []
paths:
  /search:
    post:
      tags:
        - Search
      summary: Buscar y, opcionalmente, hacer scraping de los resultados de búsqueda
      operationId: searchAndScrape
      requestBody:
        content:
          application/json:
            schema:
              properties:
                ignoreInvalidURLs:
                  default: false
                  description: >-
                    Excluye de los resultados de búsqueda las URLs que no son
                    válidas para otros endpoints de Firecrawl. Esto ayuda a
                    reducir errores si canalizas datos de la búsqueda hacia
                    otros endpoints de la API de Firecrawl.
                  type: boolean
                limit:
                  default: 5
                  description: Número máximo de resultados que se devolverán
                  maximum: 100
                  minimum: 1
                  type: integer
                location:
                  description: Parámetro de ubicación para los resultados de búsqueda
                  type: string
                query:
                  description: Consulta de búsqueda
                  type: string
                scrapeOptions:
                  allOf:
                    - $ref: '#/components/schemas/BaseScrapeOptions'
                    - properties:
                        formats:
                          default: []
                          items:
                            enum:
                              - markdown
                              - html
                              - rawHtml
                              - links
                              - screenshot
                              - screenshot@fullPage
                              - json
                              - extract
                            type: string
                          type: array
                      type: object
                  default: {}
                  description: Opciones para extraer resultados de búsqueda
                tbs:
                  description: >-
                    Parámetro de búsqueda temporal. Admite intervalos de tiempo
                    predefinidos (`qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`) y
                    rangos de fechas personalizados
                    (`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`).
                  type: string
                threatProtection:
                  $ref: '#/components/schemas/ThreatProtectionOverride'
                timeout:
                  default: 60000
                  description: Tiempo de espera en milisegundos
                  type: integer
              required:
                - query
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      properties:
                        description:
                          description: Descripción del resultado de la búsqueda
                          type: string
                        html:
                          description: Contenido HTML si se solicita en los formatos
                          nullable: true
                          type: string
                        links:
                          description: Enlaces encontrados si se solicitan en los formatos
                          items:
                            type: string
                          type: array
                        markdown:
                          description: >-
                            Contenido en formato Markdown si se solicitó
                            scraping
                          nullable: true
                          type: string
                        metadata:
                          properties:
                            description:
                              description: >-
                                Descripción extraída de la página; puede ser una
                                cadena o una matriz de cadenas
                              oneOf:
                                - type: string
                                - items:
                                    type: string
                                  type: array
                            error:
                              nullable: true
                              type: string
                            numPages:
                              description: >-
                                Para entradas PDF, el número de páginas
                                procesadas (limitado por la opción maxPages del
                                parser).
                              type: integer
                            sourceURL:
                              type: string
                            statusCode:
                              type: integer
                            title:
                              description: >-
                                Título extraído de la página; puede ser una
                                cadena o una matriz de cadenas
                              oneOf:
                                - type: string
                                - items:
                                    type: string
                                  type: array
                            totalPages:
                              description: >-
                                Para entradas PDF, el número real de páginas del
                                documento antes de aplicar cualquier límite de
                                maxPages. Se omite si no se puede determinar; si
                                totalPages es mayor que numPages, el resultado
                                se truncó.
                              type: integer
                          type: object
                        rawHtml:
                          description: >-
                            Contenido HTML sin procesar si se solicita en los
                            formatos
                          nullable: true
                          type: string
                        screenshot:
                          description: >-
                            URL de la captura de pantalla si se ha solicitado en
                            formatos. Las capturas de pantalla caducan después
                            de 24 horas y dejan de estar disponibles para su
                            descarga.
                          nullable: true
                          type: string
                        title:
                          description: Título del resultado de la búsqueda
                          type: string
                        url:
                          description: URL del resultado de la búsqueda
                          type: string
                      type: object
                    type: array
                  id:
                    description: El ID de la tarea de búsqueda
                    type: string
                  success:
                    type: boolean
                  warning:
                    description: Mensaje de advertencia si ocurre algún problema
                    nullable: true
                    type: string
                type: object
          description: Respuesta correcta
        '408':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Request timed out
                    type: string
                  success:
                    example: false
                    type: boolean
                type: object
          description: Tiempo de espera de la solicitud excedido
        '500':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: An unexpected error occurred on the server.
                    type: string
                  success:
                    example: false
                    type: boolean
                type: object
          description: Error del servidor
      security:
        - bearerAuth: []
components:
  schemas:
    BaseScrapeOptions:
      properties:
        actions:
          description: >-
            Acciones que se ejecutarán en la página antes de extraer el
            contenido
          items:
            oneOf:
              - properties:
                  milliseconds:
                    description: Número de milisegundos que se debe esperar
                    minimum: 1
                    type: integer
                  selector:
                    description: Selector de búsqueda para encontrar el elemento por
                    example: '#my-element'
                    type: string
                  type:
                    description: Espera una cantidad de milisegundos especificada
                    enum:
                      - wait
                    type: string
                required:
                  - type
                title: Wait
                type: object
              - properties:
                  fullPage:
                    default: false
                    description: >-
                      Indica si se debe capturar una captura de pantalla de toda
                      la página o solo del viewport actual.
                    type: boolean
                  quality:
                    description: >-
                      La calidad de la captura de pantalla, de 1 a 100; 100 es
                      la máxima calidad.
                    type: integer
                  type:
                    description: >-
                      Haz una captura de pantalla. Los enlaces estarán en el
                      array `actions.screenshots` de la respuesta.
                    enum:
                      - screenshot
                    type: string
                required:
                  - type
                title: Screenshot
                type: object
              - properties:
                  all:
                    default: false
                    description: >-
                      Hace clic en todos los elementos que coinciden con el
                      selector, no solo en el primero. No genera un error si
                      ningún elemento coincide con el selector.
                    type: boolean
                  selector:
                    description: Selector de consulta para buscar el elemento por
                    example: '#load-more-button'
                    type: string
                  type:
                    description: Haz clic en un elemento
                    enum:
                      - click
                    type: string
                required:
                  - type
                  - selector
                title: Click
                type: object
              - properties:
                  text:
                    description: Texto a escribir
                    example: Hello, world!
                    type: string
                  type:
                    description: >-
                      Escribe texto en un campo de entrada, área de texto o
                      elemento contenteditable. Nota: primero debes poner el
                      foco en el elemento usando una acción de «clic» antes de
                      escribir. El texto se tecleará carácter por carácter para
                      simular la entrada por teclado.
                    enum:
                      - write
                    type: string
                required:
                  - type
                  - text
                title: Write text
                type: object
              - description: >-
                  Pulsa una tecla en esta página. Consulta
                  https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html
                  para ver los códigos de teclado.
                properties:
                  key:
                    description: Tecla a pulsar
                    example: Enter
                    type: string
                  type:
                    description: Pulsa una tecla en la página
                    enum:
                      - press
                    type: string
                required:
                  - type
                  - key
                title: Press a key
                type: object
              - properties:
                  direction:
                    default: down
                    description: Dirección de desplazamiento
                    enum:
                      - up
                      - down
                    type: string
                  selector:
                    description: Selector (query selector) del elemento que se desplazará
                    example: '#my-element'
                    type: string
                  type:
                    description: Desplazar la página o un elemento específico
                    enum:
                      - scroll
                    type: string
                required:
                  - type
                title: Scroll
                type: object
              - properties:
                  type:
                    description: >-
                      Extrae el contenido de la página actual y devuelve la URL
                      y el HTML.
                    enum:
                      - scrape
                    type: string
                required:
                  - type
                title: Scrape
                type: object
              - properties:
                  script:
                    description: Código JavaScript a ejecutar
                    example: document.querySelector('.button').click();
                    type: string
                  type:
                    description: Ejecutar código JavaScript en la página
                    enum:
                      - executeJavascript
                    type: string
                required:
                  - type
                  - script
                title: Execute JavaScript
                type: object
              - properties:
                  format:
                    default: Letter
                    description: El tamaño de la página del PDF resultante
                    enum:
                      - A0
                      - A1
                      - A2
                      - A3
                      - A4
                      - A5
                      - A6
                      - Letter
                      - Legal
                      - Tabloid
                      - Ledger
                    type: string
                  landscape:
                    default: false
                    description: Indica si se debe generar el PDF en orientación horizontal
                    type: boolean
                  scale:
                    default: 1
                    description: El factor de escala del PDF resultante
                    type: number
                  type:
                    description: >-
                      Genera un PDF de la página actual. El PDF se devolverá en
                      el array `actions.pdfs` de la respuesta.
                    enum:
                      - pdf
                    type: string
                required:
                  - type
                title: Generate PDF
                type: object
          type: array
        blockAds:
          default: true
          description: Habilita el bloqueo de anuncios y ventanas emergentes de cookies.
          type: boolean
        excludeTags:
          description: Etiquetas que se excluirán de la salida.
          items:
            type: string
          type: array
        headers:
          description: >-
            Cabeceras que se enviarán con la solicitud. Pueden usarse para
            enviar cookies, user-agent, etc.
          type: object
        includeTags:
          description: Etiquetas que se deben incluir en la salida.
          items:
            type: string
          type: array
        jsonOptions:
          description: Objeto de opciones JSON
          properties:
            prompt:
              description: >-
                El prompt que se utilizará para la extracción sin esquema
                (opcional)
              type: string
            schema:
              description: >-
                El esquema que se utilizará para la extracción (opcional). Debe
                ajustarse a [JSON Schema](https://json-schema.org/).
              type: object
            systemPrompt:
              description: El prompt del sistema que se usará para la extracción (opcional)
              type: string
          type: object
        location:
          description: >-
            Configuración de ubicación de la solicitud. Cuando se especifique,
            usará un proxy adecuado si está disponible y emulará la
            configuración de idioma y zona horaria correspondientes. Si no se
            especifica, el valor predeterminado es 'US'.
          properties:
            country:
              default: US
              description: >-
                Código de país ISO 3166-1 alfa-2 (por ejemplo, «US», «AU», «DE»,
                «JP»)
              pattern: ^[A-Z]{2}$
              type: string
            languages:
              description: >-
                Idiomas y configuraciones regionales preferidos para la
                solicitud, en orden de prioridad. De forma predeterminada, se
                usa el idioma de la ubicación especificada. Más información en
                https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language
              items:
                example: en-US
                type: string
              type: array
          type: object
        maxAge:
          default: 0
          description: >-
            Devuelve una versión en caché de la página si su antigüedad es menor
            que este valor, en milisegundos. Si la versión en caché de la página
            es más antigua que este valor, la página se volverá a scrapear. Si
            no necesitas datos extremadamente recientes, activar esta opción
            puede acelerar tus procesos de scraping hasta un 500 %. El valor
            predeterminado es 0, lo que desactiva la caché.
          type: integer
        mobile:
          default: false
          description: >-
            Configúralo en `true` si quieres emular el scraping desde un
            dispositivo móvil. Es útil para probar páginas responsive y tomar
            capturas de pantalla en dispositivos móviles.
          type: boolean
        onlyMainContent:
          default: true
          description: >-
            Devuelve únicamente el contenido principal de la página, excluyendo
            encabezados, elementos de navegación, pies de página, etc.
          type: boolean
        parsePDF:
          default: true
          description: >-
            Controla cómo se procesan los archivos PDF durante el scraping.
            Cuando es true, el contenido del PDF se extrae y se convierte al
            formato Markdown, y la facturación se basa en el número de páginas
            (1 crédito por página). Cuando es false, el archivo PDF se devuelve
            codificado en base64 con una tarifa plana total de 1 crédito.
          type: boolean
        proxy:
          description: >-
            Especifica el tipo de proxy que se va a utilizar.


            - **basic**: Proxies para hacer scraping de sitios con sistemas
            anti‑bots nulos o básicos. Es rápido y suele funcionar.

            - **enhanced**: Proxies mejorados para hacer scraping de sitios con
            sistemas anti‑bots avanzados. Es más lento, pero más fiable en
            ciertos sitios. Cuesta hasta 5 créditos por solicitud.

            - **auto**: Firecrawl reintentará automáticamente el scraping con
            proxies mejorados si el proxy básico falla. Si el reintento con
            enhanced tiene éxito, se cobrarán 5 créditos por la extracción. Si
            el primer intento con basic tiene éxito, solo se cobrará el coste
            estándar.


            Si no especificas un proxy, Firecrawl usará basic por defecto.
          enum:
            - basic
            - enhanced
            - auto
          type: string
        removeBase64Images:
          default: true
          description: >-
            Elimina todas las imágenes en formato base64 de la salida, que
            pueden hacerla excesivamente larga. El texto alternativo de la
            imagen se conserva en la salida, pero la URL se reemplaza por un
            marcador de posición.
          type: boolean
        skipTlsVerification:
          default: false
          description: Omitir la verificación del certificado TLS al realizar solicitudes
          type: boolean
        storeInCache:
          default: true
          description: >-
            Si es true, la página se almacenará en el índice y la caché de
            Firecrawl. Establecerlo en false es útil si tu actividad de scraping
            puede implicar problemas de protección de datos. El uso de algunos
            parámetros asociados con scraping sensible (acciones, headers) hará
            que este parámetro tenga que ser false.
          type: boolean
        threatProtection:
          $ref: '#/components/schemas/ThreatProtectionOverride'
        timeout:
          default: 30000
          description: Tiempo de espera de la solicitud en milisegundos
          type: integer
        waitFor:
          default: 0
          description: >-
            Especifica un retraso, en milisegundos, antes de obtener el
            contenido, permitiendo que la página tenga tiempo suficiente para
            cargarse.
          type: integer
      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 para tu equipo, `mode` no
        puede establecerse en `off`.
      properties:
        blacklist:
          description: >-
            Dominios que siempre se bloquearán, como dominios simples
            (`example.com`) o patrones comodín (`*.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 contactar con el 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` comprueba las
            URL con Google Web Risk (+2 créditos por cada URL analizada).
          enum:
            - 'off'
            - normal
          type: string
        riskScoreThreshold:
          description: >-
            Puntuación de riesgo normalizada (0–100) a partir de la cual un
            veredicto del clasificador bloquea la URL. Cuanto más bajo sea el
            valor, más estricto será.
          example: 75
          maximum: 100
          minimum: 0
          type: integer
        whitelist:
          description: >-
            Dominios que siempre se permitirán, como dominios simples o patrones
            comodín. 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

````