L’API de recherche de Firecrawl vous permet d’effectuer des recherches sur le web et, si vous le souhaitez, de scraper les résultats en une seule opération.
  • Choisissez des formats de sortie spécifiques (markdown, HTML, liens, captures d’écran)
  • Recherchez sur le web avec des paramètres personnalisables (localisation, etc.)
  • Récupérez, en option, le contenu des résultats dans divers formats
  • Contrôlez le nombre de résultats et définissez des délais d’attente
Pour plus de détails, consultez la référence de l’API du point de terminaison /search.

Effectuer une recherche avec Firecrawl

point de terminaison /search

Permet d’effectuer des recherches sur le web et, en option, de récupérer le contenu des résultats.

Installation

# pip install firecrawl-py

from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-VOTRE-CLE-API")

Utilisation de base

from firecrawl import Firecrawl

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

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

Réponse

Les SDK renvoient directement l’objet de données. cURL renvoie la charge utile complète.
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
      },
      ...
    ]
  }
}

Types de résultats de recherche

En plus des résultats web classiques, Search prend en charge des types de résultats spécialisés via le paramètre sources :
  • web : résultats web standard (par défaut)
  • news : résultats axés sur l’actualité
  • images : résultats de recherche d’images

Catégories de recherche

Filtrez les résultats de recherche par catégorie spécifique à l’aide du paramètre categories :
  • github : Rechercher dans les dépôts GitHub, le code, les issues et la documentation
  • research : Rechercher sur des sites académiques et de recherche (arXiv, Nature, IEEE, PubMed, etc.)
Recherchez spécifiquement dans les dépôts GitHub :
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-VOTRE_CLÉ_API" \
  -d '{
    "query": "web scraping python",
    "categories": ["github"],
    "limit": 10
  }'
Recherchez sur des sites académiques et de recherche :
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-VOTRE_CLÉ_API" \
  -d '{
    "query": "transformers en apprentissage automatique",
    "categories": ["recherche"],
    "limit": 10
  }'
Combinez plusieurs catégories dans une seule recherche :
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-VOTRE_CLE_API" \
  -d '{
    "query": "réseaux de neurones",
    "categories": ["github", "recherche"],
    "limit": 15
  }'

Format de réponse par catégorie

Chaque résultat de recherche comporte un champ category indiquant sa source :
{
  "success": true,
  "data": {
    "web": [
      {
        "url": "https://github.com/example/neural-network",
        "title": "Implémentation de réseau de neurones"
        "description": "Une implémentation PyTorch de réseaux de neurones"
        "category": "github"
      },
      {
        "url": "https://arxiv.org/abs/2024.12345",
        "title": "Avancées dans l’architecture des réseaux de neurones"
        "description": "Article de recherche sur les améliorations des réseaux de neurones"
        "category": "research"
      }
    ]
  }
}
Exemples :
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-VOTRE_CLÉ_API" \
  -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
  }'

Recherche d’images HD avec filtre de taille

Utilisez les opérateurs de Google Images pour trouver des images en haute résolution :
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-YOUR_API_KEY" \
  -d '{
    "query": "coucher de soleil 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": "fond d’écran montagne larger:2560x1440",
    "sources": ["images"],
    "limit": 8
  }'
Résolutions HD courantes :
  • imagesize:1920x1080 - Full HD (1080p)
  • imagesize:2560x1440 - QHD (1440p)
  • imagesize:3840x2160 - 4K UHD
  • larger:1920x1080 - HD et supérieur
  • larger:2560x1440 - QHD et supérieur

Recherche avec extraction de contenu

Recherchez et récupérez le contenu des résultats de recherche en une seule opération.
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"]
    }
)
Toutes les options du point de terminaison /scrape sont prises en charge par ce point de terminaison de recherche via le paramètre scrapeOptions.

Réponse avec contenu extrait

{
  "success": true,
  "data": [
    {
      "title": "Firecrawl - L’API ultime de web scraping",
      "description": "Firecrawl est une API de web scraping puissante qui convertit n’importe quel site web en données propres et structurées, prêtes pour l’IA et l’analyse.",
      "url": "https://firecrawl.dev/",
      "markdown": "# Firecrawl\n\nL’API ultime de web scraping\n\n## Convertissez n’importe quel site web en données propres et structurées\n\nFirecrawl simplifie l’extraction de données depuis des sites web pour des applications d’IA, des études de marché, l’agrégation de contenu, et plus encore...",
      "links": [
        "https://firecrawl.dev/pricing",
        "https://firecrawl.dev/docs",
        "https://firecrawl.dev/guides"
      ],
      "metadata": {
        "title": "Firecrawl - L’API ultime de web scraping",
        "description": "Firecrawl est une API de web scraping puissante qui convertit n’importe quel site web en données propres et structurées, prêtes pour l’IA et l’analyse.",
        "sourceURL": "https://firecrawl.dev/",
        "statusCode": 200
      }
    }
  ]
}

Options de recherche avancées

L’API de recherche de Firecrawl prend en charge plusieurs paramètres pour personnaliser votre recherche :

Personnalisation de la localisation

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']}")
Utilisez le paramètre tbs pour filtrer les résultats par période :
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', [])))
Valeurs tbs courantes :
  • qdr:h - Dernière heure
  • qdr:d - Dernières 24 heures
  • qdr:w - Dernière semaine
  • qdr:m - Dernier mois
  • qdr:y - Dernière année
Pour un filtrage plus précis, vous pouvez spécifier des plages de dates exactes avec le format de plage de dates personnalisé :
from firecrawl import Firecrawl

# Initialisez le client avec votre clé API
firecrawl = Firecrawl(api_key="fc-YOUR_API_KEY")

# Rechercher des résultats de décembre 2024
search_result = firecrawl.search(
    "firecrawl updates",
    limit=10,
    tbs="cdr:1,cd_min:12/1/2024,cd_max:12/31/2024"
)

Délai d’attente personnalisé

Définissez un délai d’attente personnalisé pour les opérations de recherche :
from firecrawl import FirecrawlApp

# Initialisez le client avec votre clé d’API
app = FirecrawlApp(api_key="fc-YOUR_API_KEY")

# Définissez un délai d’attente de 30 secondes
search_result = app.search(
    "complex search query",
    limit=10,
    timeout=30000  # 30 secondes en millisecondes
)

Incidences sur les coûts

L’utilisation de ce point de terminaison coûte 1 crédit par résultat de recherche. Il n’y a pas de frais supplémentaires pour les scrapes de base de chaque résultat de recherche. Cependant, tenez compte des facteurs de coût suivants :
  • Analyse de PDF : 1 crédit par page PDF (peut augmenter sensiblement les coûts pour les PDF multipages)
  • Mode proxy stealth : +4 crédits supplémentaires par résultat de recherche
  • mode JSON : +4 crédits supplémentaires par résultat de recherche
Pour maîtriser les coûts :
  • Définissez parsers: [] si vous n’avez pas besoin du contenu PDF
  • Utilisez proxy: "basic" plutôt que "stealth" lorsque c’est possible
  • Limitez le nombre de résultats de recherche avec le paramètre limit

Options de scraping avancées

Pour plus de détails sur les options de scraping, consultez la documentation de la fonctionnalité Scrape. Toutes les options, à l’exception de FIRE-1 (Agent) et du suiviDesModifications, sont prises en charge par ce point de terminaison Search.