A API de busca do Firecrawl permite realizar pesquisas na web e, opcionalmente, fazer scraping dos resultados em uma única operação.
  • Escolha formatos de saída específicos (markdown, HTML, links, screenshots)
  • Pesquise na web com parâmetros personalizáveis (localização, etc.)
  • Opcionalmente, recupere o conteúdo dos resultados em vários formatos
  • Controle a quantidade de resultados e defina limites de tempo
Para mais detalhes, consulte a Referência da API do endpoint /search.

Fazendo uma pesquisa com o Firecrawl

endpoint /search

Usado para realizar pesquisas na web e, opcionalmente, obter conteúdo dos resultados.

Instalação

# pip install firecrawl-py

from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")

Uso básico

from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")

results = firecrawl.search(
    query="firecrawl",
    limit=3,
)
print(results)

Resposta

Os SDKs retornarão o objeto de dados diretamente. O cURL retornará a carga completa.
JSON
{
  "success": true,
  "data": {
    "web": [
      {
        "url": "https://www.firecrawl.dev/",
        "title": "Firecrawl - The Web Data API for AI",
        "description": "The web crawling, scraping, and search API for AI. Built for scale. Firecrawl delivers the entire internet to AI agents and builders.",
        "position": 1
      },
      {
        "url": "https://github.com/mendableai/firecrawl",
        "title": "mendableai/firecrawl: Turn entire websites into LLM-ready ... - GitHub",
        "description": "Firecrawl is an API service that takes a URL, crawls it, and converts it into clean markdown or structured data.",
        "position": 2
      },
      ...
    ],
    "images": [
      {
        "title": "Quickstart | Firecrawl",
        "imageUrl": "https://mintlify.s3.us-west-1.amazonaws.com/firecrawl/logo/logo.png",
        "imageWidth": 5814,
        "imageHeight": 1200,
        "url": "https://docs.firecrawl.dev/",
        "position": 1
      },
      ...
    ],
    "news": [
      {
        "title": "Y Combinator startup Firecrawl is ready to pay $1M to hire three AI agents as employees",
        "url": "https://techcrunch.com/2025/05/17/y-combinator-startup-firecrawl-is-ready-to-pay-1m-to-hire-three-ai-agents-as-employees/",
        "snippet": "It's now placed three new ads on YC's job board for “AI agents only” and has set aside a $1 million budget total to make it happen.",
        "date": "3 months ago",
        "position": 1
      },
      ...
    ]
  }
}

Tipos de resultados de busca

Além dos resultados da web padrão, o Search oferece tipos de resultados especializados por meio do parâmetro sources:
  • web: resultados da web padrão (padrão)
  • news: resultados focados em notícias
  • images: resultados de busca de imagens

Categorias de pesquisa

Filtre os resultados por categorias específicas usando o parâmetro categories:
  • github: Pesquise em repositórios do GitHub, código, issues e documentação
  • research: Pesquise em sites acadêmicos e de pesquisa (arXiv, Nature, IEEE, PubMed, etc.)
Pesquise especificamente em repositórios do GitHub:
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-YOUR_API_KEY" \
  -d '{
    "query": "web scraping em Python",
    "categories": ["github"],
    "limit": 10
  }'
Pesquise sites acadêmicos e de pesquisa:
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-YOUR_API_KEY" \
  -d '{
    "query": "transformers em aprendizado de máquina",
    "categories": ["pesquisa"],
    "limit": 10
  }'
Combine várias categorias em uma única pesquisa:
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-YOUR_API_KEY" \
  -d '{
    "query": "redes neurais",
    "categories": ["github", "pesquisa"],
    "limit": 15
  }'

Formato de resposta de categoria

Cada resultado de pesquisa inclui um campo category indicando sua fonte:
{
  "success": true,
  "data": {
    "web": [
      {
        "url": "https://github.com/example/neural-network",
        "title": "Implementação de Rede Neural",
        "description": "Uma implementação de redes neurais em PyTorch",
        "category": "github"
      },
      {
        "url": "https://arxiv.org/abs/2024.12345",
        "title": "Avanços na Arquitetura de Redes Neurais",
        "description": "Artigo científico sobre melhorias em redes neurais",
        "category": "research"
      }
    ]
  }
}
Exemplos:
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-YOUR_API_KEY" \
  -d '{
    "query": "openai",
    "sources": ["news"],
    "limit": 5
  }'
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-SUA_CHAVE_DE_API" \
  -d '{
    "query": "Júpiter",
    "sources": ["imagens"],
    "limit": 8
  }'

Pesquisa de imagens em alta definição com filtro por tamanho

Use operadores do Google Imagens para encontrar imagens em alta resolução:
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-YOUR_API_KEY" \
  -d '{
    "query": "pôr do sol imagesize:1920x1080",
    "sources": ["images"],
    "limit": 5
  }'
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-SUA_API_KEY" \
  -d '{
    "query": "papel de parede de montanha larger:2560x1440",
    "sources": ["images"],
    "limit": 8
  }'
Resoluções HD comuns:
  • imagesize:1920x1080 - Full HD (1080p)
  • imagesize:2560x1440 - QHD (1440p)
  • imagesize:3840x2160 - 4K UHD
  • larger:1920x1080 - HD ou superior
  • larger:2560x1440 - QHD ou superior

Busca com Coleta de Conteúdo

Pesquise e recupere conteúdo dos resultados de busca em uma única operação.
from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-YOUR_API_KEY")

# Search and scrape content
results = firecrawl.search(
    "firecrawl web scraping",
    limit=3,
    scrape_options={
        "formats": ["markdown", "links"]
    }
)
Todas as opções do endpoint /scrape são compatíveis neste endpoint de busca por meio do parâmetro scrapeOptions.

Resposta com conteúdo extraído

{
  "success": true,
  "data": [
    {
      "title": "Firecrawl - A API definitiva de web scraping",
      "description": "A Firecrawl é uma poderosa API de web scraping que transforma qualquer site em dados limpos e estruturados para IA e análise.",
      "url": "https://firecrawl.dev/",
      "markdown": "# Firecrawl\n\nA API definitiva de web scraping\n\n## Transforme qualquer site em dados limpos e estruturados\n\nA Firecrawl facilita a extração de dados de sites para aplicações de IA, pesquisa de mercado, agregação de conteúdo e muito mais...",
      "links": [
        "https://firecrawl.dev/pricing",
        "https://firecrawl.dev/docs",
        "https://firecrawl.dev/guides"
      ],
      "metadata": {
        "title": "Firecrawl - A API definitiva de web scraping",
        "description": "A Firecrawl é uma poderosa API de web scraping que transforma qualquer site em dados limpos e estruturados para IA e análise.",
        "sourceURL": "https://firecrawl.dev/",
        "statusCode": 200
      }
    }
  ]
}

Opções avançadas de busca

A API de busca do Firecrawl oferece diversos parâmetros para personalizar suas buscas:

Personalização de localização

from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-YOUR_API_KEY")

# Search with location settings (Germany)
search_result = firecrawl.search(
    "web scraping tools",
    limit=5,
    location="Germany"
)

# Process the results
for result in search_result.data:
    print(f"Title: {result['title']}")
    print(f"URL: {result['url']}")
Use o parâmetro tbs para filtrar resultados por período:
from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")

results = firecrawl.search(
    query="firecrawl",
    limit=5,
    tbs="qdr:d",
)
print(len(results.get('web', [])))
Valores comuns de tbs:
  • qdr:h - Última hora
  • qdr:d - Últimas 24 horas
  • qdr:w - Última semana
  • qdr:m - Último mês
  • qdr:y - Último ano
Para um filtro temporal mais preciso, você pode especificar intervalos de datas exatos usando o formato de intervalo personalizado:
from firecrawl import Firecrawl

# Inicialize o cliente com sua API key
firecrawl = Firecrawl(api_key="fc-YOUR_API_KEY")

# Buscar resultados de dezembro de 2024
search_result = firecrawl.search(
    "firecrawl updates",
    limit=10,
    tbs="cdr:1,cd_min:12/1/2024,cd_max:12/31/2024"
)

Tempo limite personalizado

Defina um tempo limite personalizado para operações de pesquisa:
from firecrawl import FirecrawlApp

# Inicialize o cliente com sua chave de API
app = FirecrawlApp(api_key="fc-YOUR_API_KEY")

# Defina um tempo limite de 30 segundos
search_result = app.search(
    "complex search query",
    limit=10,
    timeout=30000  # 30 segundos em milissegundos
)

Implicações de custo

O uso deste endpoint custa 1 crédito por resultado de pesquisa. Não há cobrança adicional por scrapes básicos de cada resultado de pesquisa. No entanto, fique atento a estes fatores de custo:
  • Processamento de PDF: 1 crédito por página de PDF (pode aumentar significativamente os custos em PDFs com várias páginas)
  • Modo de proxy stealth: +4 créditos adicionais por resultado de pesquisa
  • modo JSON: +4 créditos adicionais por resultado de pesquisa
Para controlar os custos:
  • Defina parsers: [] se você não precisar do conteúdo em PDF
  • Use proxy: "basic" em vez de "stealth" quando possível
  • Limite a quantidade de resultados de pesquisa com o parâmetro limit

Opções avançadas de scraping

Para mais detalhes sobre as opções de scraping, consulte a documentação do recurso Scrape. Tudo, exceto o FIRE-1 (Agente) e o recurso rastreioDeMudanças, é compatível com este endpoint de Search.