La API de búsqueda de Firecrawl te permite realizar búsquedas en la web y, opcionalmente, extraer los resultados en una sola operación.
  • Elige formatos de salida específicos (markdown, HTML, links, capturas de pantalla)
  • Busca en la web con parámetros personalizables (ubicación, etc.)
  • Recupera opcionalmente contenido de los resultados de búsqueda en varios formatos
  • Controla la cantidad de resultados y establece tiempos de espera
Para más detalles, consulta la referencia del punto de conexión /search.

Buscar con Firecrawl

punto de conexión /search

Se usa para realizar búsquedas en la web y, opcionalmente, obtener contenido de los resultados.

Instalación

# pip install firecrawl-py

from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-TU-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)

Respuesta

Los SDK devolverán directamente el objeto de datos. cURL devolverá el payload completo.
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 búsqueda

Además de los resultados web habituales, Search admite tipos de resultados especializados mediante el parámetro sources:
  • web: resultados web estándar (predeterminado)
  • news: resultados enfocados en noticias
  • images: resultados de búsqueda de imágenes

Categorías de búsqueda

Filtra los resultados de búsqueda por categorías específicas con el parámetro categories:
  • github: Busca en repositorios de GitHub, código, incidencias y documentación
  • research: Busca en sitios académicos y de investigación (arXiv, Nature, IEEE, PubMed, etc.)
Busca específicamente dentro de los repositorios de GitHub:
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-TU_API_KEY" \
  -d '{
    "query": "web scraping en Python",
    "categories": ["github"],
    "limit": 10
  }'
Busca en sitios web académicos y de investigación:
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-TU_API_KEY" \
  -d '{
    "query": "transformers de aprendizaje automático",
    "categories": ["investigación"],
    "limit": 10
  }'
Combina varias categorías en una sola búsqueda:
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 neuronales",
    "categories": ["github", "investigación"],
    "limit": 15
  }'

Formato de respuesta de categorías

Cada resultado de búsqueda incluye un campo category que indica su fuente:
{
  "success": true,
  "data": {
    "web": [
      {
        "url": "https://github.com/example/neural-network",
        "title": "Implementación de redes neuronales",
        "description": "Implementación de redes neuronales en PyTorch",
        "category": "github"
        "category": "github",
      {
        "url": "https://arxiv.org/abs/2024.12345",
        "title": "Avances en la arquitectura de redes neuronales",
        "description": "Artículo de investigación sobre mejoras en redes neuronales",
        "category": "research"
      }
    ]
  }
}
Ejemplos:
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-TU_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-YOUR_API_KEY" \
  -d '{
    "query": "jupiter",
    "sources": ["images"],
    "limit": 8
  }'

Búsqueda de imágenes en HD con filtro de tamaño

Usa los operadores de Google Imágenes para encontrar imágenes de alta resolución:
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-YOUR_API_KEY" \
  -d '{
    "query": "atardecer 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-YOUR_API_KEY" \
  -d '{
    "query": "fondo de pantalla de montaña larger:2560x1440",
    "sources": ["images"],
    "limit": 8
  }'
Resoluciones HD habituales:
  • imagesize:1920x1080 - Full HD (1080p)
  • imagesize:2560x1440 - QHD (1440p)
  • imagesize:3840x2160 - 4K UHD
  • larger:1920x1080 - HD o superior
  • larger:2560x1440 - QHD o superior

Búsqueda con extracción de contenido

Busca y recupera contenido de los resultados de búsqueda en una sola operación.
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 las opciones del punto de conexión /scrape son compatibles con este punto de conexión de búsqueda mediante el parámetro scrapeOptions.

Respuesta con contenido rastreado

{
  "success": true,
  "data": [
    {
      "title": "Firecrawl - La API definitiva de web scraping",
      "description": "Firecrawl es una potente API de web scraping que convierte cualquier sitio web en datos limpios y estructurados para IA y análisis.",
      "url": "https://firecrawl.dev/",
      "markdown": "# Firecrawl\n\nLa API definitiva de web scraping\n\n## Convierte cualquier sitio web en datos limpios y estructurados\n\nFirecrawl facilita la extracción de datos de sitios web para aplicaciones de IA, investigación de mercados, agregación de contenido y más...",
      "links": [
        "https://firecrawl.dev/pricing",
        "https://firecrawl.dev/docs",
        "https://firecrawl.dev/guides"
      ],
      "metadata": {
        "title": "Firecrawl - La API definitiva de web scraping",
        "description": "Firecrawl es una potente API de web scraping que convierte cualquier sitio web en datos limpios y estructurados para IA y análisis.",
        "sourceURL": "https://firecrawl.dev/",
        "statusCode": 200
      }
    }
  ]
}

Opciones de búsqueda avanzadas

La API de búsqueda de Firecrawl admite varios parámetros para personalizar la búsqueda:

Personalización de la ubicación

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']}")
Usa el parámetro tbs para filtrar resultados por periodo:
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 comunes de tbs:
  • qdr:h - Última hora
  • qdr:d - Últimas 24 horas
  • qdr:w - Última semana
  • qdr:m - Último mes
  • qdr:y - Último año
Para un filtrado temporal más preciso, puedes especificar rangos exactos usando el formato de rango de fechas personalizado:
from firecrawl import Firecrawl

# Inicializa el cliente con tu clave de API
firecrawl = Firecrawl(api_key="fc-YOUR_API_KEY")

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

Tiempo de espera personalizado

Configura un tiempo de espera personalizado para las operaciones de búsqueda:
from firecrawl import FirecrawlApp

# Inicializa el cliente con tu clave de API
app = FirecrawlApp(api_key="fc-YOUR_API_KEY")

# Establece un tiempo de espera de 30 segundos
search_result = app.search(
    "complex search query",
    limit=10,
    timeout=30000  # 30 segundos en milisegundos
)

Implicaciones de costos

El uso de este punto de conexión cuesta 1 crédito por resultado de búsqueda. No hay cargos adicionales por scrapes básicos de cada resultado. Sin embargo, ten en cuenta estos factores de costo:
  • Análisis de PDF: 1 crédito por página de PDF (puede incrementar significativamente los costos en PDFs de varias páginas)
  • Modo de proxy stealth: +4 créditos adicionales por resultado de búsqueda
  • modo JSON: +4 créditos adicionales por resultado de búsqueda
Para controlar los costos:
  • Define parsers: [] si no necesitas contenido PDF
  • Usa proxy: "basic" en lugar de "stealth" cuando sea posible
  • Limita la cantidad de resultados de búsqueda con el parámetro limit

Opciones avanzadas de scraping

Para más detalles sobre las opciones de scraping, consulta la documentación de la función Scrape. Todo, excepto FIRE-1 (Agente) y seguimientoDeCambios, es compatible con este punto de conexión de búsqueda.