POST
/
search
Search and optionally scrape search results
curl --request POST \
  --url https://api.firecrawl.dev/v2/search \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "query": "<string>",
  "limit": 5,
  "sources": [
    "web"
  ],
  "categories": [
    {
      "type": "github"
    }
  ],
  "tbs": "<string>",
  "location": "<string>",
  "timeout": 60000,
  "ignoreInvalidURLs": false,
  "scrapeOptions": {
    "formats": [
      "markdown"
    ],
    "onlyMainContent": true,
    "includeTags": [
      "<string>"
    ],
    "excludeTags": [
      "<string>"
    ],
    "maxAge": 172800000,
    "headers": {},
    "waitFor": 0,
    "mobile": false,
    "skipTlsVerification": true,
    "timeout": 123,
    "parsers": [
      "pdf"
    ],
    "actions": [
      {
        "type": "wait",
        "milliseconds": 2,
        "selector": "#my-element"
      }
    ],
    "location": {
      "country": "US",
      "languages": [
        "en-US"
      ]
    },
    "removeBase64Images": true,
    "blockAds": true,
    "proxy": "auto",
    "storeInCache": true
  }
}'
{
  "success": true,
  "data": {
    "web": [
      {
        "title": "<string>",
        "description": "<string>",
        "url": "<string>",
        "markdown": "<string>",
        "html": "<string>",
        "rawHtml": "<string>",
        "links": [
          "<string>"
        ],
        "screenshot": "<string>",
        "metadata": {
          "title": "<string>",
          "description": "<string>",
          "sourceURL": "<string>",
          "statusCode": 123,
          "error": "<string>"
        }
      }
    ],
    "images": [
      {
        "title": "<string>",
        "imageUrl": "<string>",
        "imageWidth": 123,
        "imageHeight": 123,
        "url": "<string>",
        "position": 123
      }
    ],
    "news": [
      {
        "title": "<string>",
        "snippet": "<string>",
        "url": "<string>",
        "date": "<string>",
        "imageUrl": "<string>",
        "position": 123,
        "markdown": "<string>",
        "html": "<string>",
        "rawHtml": "<string>",
        "links": [
          "<string>"
        ],
        "screenshot": "<string>",
        "metadata": {
          "title": "<string>",
          "description": "<string>",
          "sourceURL": "<string>",
          "statusCode": 123,
          "error": "<string>"
        }
      }
    ]
  },
  "warning": "<string>"
}

Novedades de la v2

Buscar en varias fuentes

Busca en la web, imágenes y noticias al mismo tiempo:
{
  "query": "firecrawl web scraping",
  "sources": [ "web", "imágenes", "noticias" ]
}

Cambió el formato de la respuesta

v1: lista plana de resultados. v2: organizado por tipo de origen:
{
  "success": true,
  "data": {
    "web": [/* resultados de la web */],
    "images": [/* resultados de imágenes */],
    "news": [/* resultados de noticias */]
  }
}

Nuevas funciones

  • Filtrar por intervalos de tiempo (“past week”, “past month”)
  • Orientar a países/regiones específicos
  • Filtrado por categoría: buscar dentro de repositorios de GitHub o sitios de investigación
  • Resultados limitados a 500 durante la fase alfa
El punto de conexión de búsqueda combina la búsqueda web (SERP) con las capacidades de scraping de Firecrawl para devolver el contenido completo de la página para cualquier consulta. Incluye scrapeOptions con formats: [{"type": "markdown"}] para obtener el contenido completo en markdown para cada resultado de búsqueda; de lo contrario, de forma predeterminada, recibirás los resultados del SERP (url, title, description). También puedes usar otros formatos como {"type": "summary"} para contenido condensado.

Operadores de consulta admitidos

Admitimos una variedad de operadores de consulta que te permiten filtrar mejor tus búsquedas.
OperadorFuncionalidadEjemplos
""Coincidencia exacta de una cadena de texto (no difusa)"Firecrawl"
-Excluye ciertas palabras clave o niega otros operadores-bad, -site:firecrawl.dev
site:Devuelve solo resultados de un sitio web específicosite:firecrawl.dev
inurl:Devuelve solo resultados que incluyan una palabra en la URLinurl:firecrawl
allinurl:Devuelve solo resultados que incluyan varias palabras en la URLallinurl:git firecrawl
intitle:Devuelve solo resultados que incluyan una palabra en el título de la páginaintitle:Firecrawl
allintitle:Devuelve solo resultados que incluyan varias palabras en el título de la páginaallintitle:firecrawl playground
related:Devuelve solo resultados relacionados con un dominio específicorelated:firecrawl.dev
imagesize:Devuelve solo imágenes con dimensiones exactasimagesize:1920x1080
larger:Devuelve solo imágenes más grandes que las dimensiones especificadaslarger:1920x1080

Parámetro de ubicación

Usa el parámetro location para obtener resultados de búsqueda geodirigidos. Formato: "string". Ejemplos: "Germany", "San Francisco,California,United States". Consulta la lista completa de ubicaciones compatibles para ver todos los países e idiomas disponibles.

Parámetro categories

Filtra los resultados de búsqueda por categorías específicas usando el parámetro categories:
  • github: Busca en repositorios, código, issues y documentación de GitHub
  • research: Busca en sitios académicos y de investigación (arXiv, Nature, IEEE, PubMed, etc.)

Ejemplo de uso

{
  "query": "aprendizaje automático",
  "categories": ["github", "investigación"],
  "limit": 10
}

Respuesta de categoría

Cada resultado incluye un campo category que indica su procedencia:
{
  "success": true,
  "data": {
    "web": [
      {
        "url": "https://github.com/example/ml-project",
        "title": "Proyecto de aprendizaje automático",
        "description": "Implementación de algoritmos de AA",
        "category": "github"
      },
      {
        "url": "https://arxiv.org/abs/2024.12345",
        "title": "Artículo de investigación sobre AA",
        "description": "Avances más recientes en aprendizaje automático",
        "category": "research"
      }
    ]
  }
}
Usa el parámetro tbs para filtrar los resultados por períodos de tiempo, incluidos rangos de fechas personalizados. Consulta la documentación de la función de búsqueda para ver ejemplos detallados y formatos admitidos.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
query
string
required

The search query

limit
integer
default:5

Maximum number of results to return

Required range: 1 <= x <= 100
sources
(Web · object | Images · object | News · object)[]

Sources to search. Will determine the arrays available in the response.

categories
(GitHub · object | Research · object)[]

Categories to filter results by

tbs
string

Time-based search parameter. Supports predefined time ranges (qdr:h, qdr:d, qdr:w, qdr:m, qdr:y) and custom date ranges (cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY)

location
string

Location parameter for search results

timeout
integer
default:60000

Timeout in milliseconds

ignoreInvalidURLs
boolean
default:false

Excludes URLs from the search results that are invalid for other Firecrawl endpoints. This helps reduce errors if you are piping data from search into other Firecrawl API endpoints.

scrapeOptions
object

Options for scraping search results

Response

Successful response

success
boolean
data
object

The search results. The arrays available will depend on the sources you specified in the request. By default, the web array will be returned.

warning
string | null

Warning message if any issues occurred