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>"
}

Novidades da v2

Pesquise em várias fontes

Pesquise na web, em imagens e em notícias ao mesmo tempo:
{
  "query": "firecrawl web scraping",
  "sources": [ "web", "imagens", "notícias" ]
}

Formato da resposta alterado

v1: lista simples de resultados. v2: organizado por tipo de origem:
{
  "success": true,
  "data": {
    "web": [/* resultados da web */],
    "images": [/* resultados de imagens */],
    "news": [/* resultados de notícias */]
  }
}

Novos recursos

  • Filtrar por intervalos de tempo (“past week”, “past month”)
  • Direcionar países/regiões específicos
  • Filtragem por categoria: pesquisar em repositórios do GitHub ou sites de pesquisa
  • Resultados limitados a 500 durante a fase alfa
O endpoint /search combina a busca na web (SERP) com os recursos de scraping do Firecrawl para retornar o conteúdo completo da página para qualquer consulta. Inclua scrapeOptions com formats: [{"type": "markdown"}] para obter o conteúdo completo em markdown de cada resultado de busca; caso contrário, você receberá, por padrão, apenas os resultados da SERP (url, title, description). Você também pode usar outros formatos, como {"type": "summary"}, para conteúdo condensado.

Operadores de pesquisa compatíveis

Oferecemos uma variedade de operadores de pesquisa que ajudam você a filtrar melhor seus resultados.
OperadorFuncionalidadeExemplos
""Faz uma correspondência exata com um trecho de texto"Firecrawl"
-Exclui determinadas palavras-chave ou nega outros operadores-bad, -site:firecrawl.dev
site:Retorna apenas resultados de um site específicosite:firecrawl.dev
inurl:Retorna apenas resultados que incluam uma palavra na URLinurl:firecrawl
allinurl:Retorna apenas resultados que incluam várias palavras na URLallinurl:git firecrawl
intitle:Retorna apenas resultados que incluam uma palavra no título da páginaintitle:Firecrawl
allintitle:Retorna apenas resultados que incluam várias palavras no título da páginaallintitle:firecrawl playground
related:Retorna apenas resultados relacionados a um domínio específicorelated:firecrawl.dev
imagesize:Retorna apenas imagens com dimensões exatasimagesize:1920x1080
larger:Retorna apenas imagens maiores que as dimensões especificadaslarger:1920x1080

Parâmetro de localização

Use o parâmetro location para obter resultados de pesquisa segmentados por região. Formato: "string". Exemplos: "Germany", "San Francisco,California,United States". Consulte a lista completa de localidades compatíveis para ver todos os países e idiomas disponíveis.

Parâmetro categories

Filtre os resultados da pesquisa por categorias específicas usando o parâmetro categories:
  • github: Pesquise em repositórios, código, issues e documentação no GitHub
  • research: Pesquise em sites acadêmicos e de pesquisa (arXiv, Nature, IEEE, PubMed, etc.)

Exemplo de uso

{
  "query": "machine learning",
  "categories": ["github", "pesquisa"],
  "limit": 10
}

Resposta de categoria

Cada resultado inclui um campo category indicando sua origem:
{
  "success": true,
  "data": {
    "web": [
      {
        "url": "https://github.com/example/ml-project",
        "title": "Projeto de Machine Learning",
        "description": "Implementação de algoritmos de ML",
        "category": "github"
      },
      {
        "url": "https://arxiv.org/abs/2024.12345",
        "title": "Artigo de pesquisa em ML",
        "description": "Avanços recentes em aprendizado de máquina"
        "category": "research"
      }
    ]
  }
}
Use o parâmetro tbs para filtrar os resultados por períodos, incluindo intervalos de datas personalizados. Consulte a documentação do recurso de pesquisa para exemplos detalhados e formatos compatíveis.

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