Passer au contenu principal
POST
/
search
Rechercher et éventuellement scraper les résultats de recherche
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>",
  "country": "US",
  "timeout": 60000,
  "ignoreInvalidURLs": false,
  "scrapeOptions": {}
}
'
{
  "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>"
}

Nouveautés de la v2

Rechercher sur plusieurs sources

Recherchez le web, les images et l’actualité en une seule fois :
{
  "query": "firecrawl scraping web",
  "sources": [ "web", "images", "actualités" ]
}

Format de la réponse modifié

v1 : liste de résultats à plat. v2 : résultats organisés par type de source :
{
  "success": true,
  "data": {
    "web": [/* web results */],
    "images": [/* résultats d'images */],
    "news": [/* news results */]
  }
}

Nouvelles fonctionnalités

  • Filtrer par plages temporelles (« past week », « past month »)
  • Cibler des pays/régions spécifiques
  • Filtrage par catégorie : rechercher dans des dépôts GitHub ou des sites de recherche
  • Résultats limités à 500 pendant la phase alpha
L’endpoint de recherche combine la recherche web avec les capacités de scraping de Firecrawl pour renvoyer le contenu complet des pages pour n’importe quelle requête. Incluez scrapeOptions avec formats: [{"type": "markdown"}] pour obtenir le contenu markdown complet pour chaque résultat de recherche ; sinon, vous recevrez par défaut les résultats (URL, title, description). Vous pouvez également utiliser d’autres formats comme {"type": "summary"} pour un contenu condensé.

Opérateurs de requête pris en charge

Nous prenons en charge une variété d’opérateurs de requête qui vous permettent de mieux filtrer vos recherches.
OpérateurFonctionnalitéExemples
""Correspondance exacte (non floue) d’une chaîne de texte"Firecrawl"
-Exclut certains mots-clés ou annule d’autres opérateurs-bad, -site:firecrawl.dev
site:Ne renvoie que les résultats d’un site web spécifiésite:firecrawl.dev
inurl:Ne renvoie que les résultats qui incluent un mot dans l’URLinurl:firecrawl
allinurl:Ne renvoie que les résultats qui incluent plusieurs mots dans l’URLallinurl:git firecrawl
intitle:Ne renvoie que les résultats qui incluent un mot dans le titre de la pageintitle:Firecrawl
allintitle:Ne renvoie que les résultats qui incluent plusieurs mots dans le titre de la pageallintitle:firecrawl playground
related:Ne renvoie que les résultats liés à un domaine spécifiquerelated:firecrawl.dev
imagesize:Ne renvoie que les images avec des dimensions exactesimagesize:1920x1080
larger:Ne renvoie que les images plus grandes que les dimensions spécifiéeslarger:1920x1080

Paramètre location

Utilisez le paramètre location pour obtenir des résultats de recherche géociblés. Format : "string". Exemples : "Germany", "San Francisco,California,United States". Consultez la liste complète des emplacements pris en charge pour tous les pays et langues disponibles.

Paramètre country

Utilisez le paramètre country pour définir le pays des résultats de recherche à l’aide des codes de pays ISO. Valeur par défaut : "US". Exemples : "US", "DE", "FR", "JP", "UK", "CA".
{
  "query": "restaurants",
  "country": "DE"
}

Paramètre categories

Filtrez les résultats de recherche par catégories spécifiques à l’aide du paramètre categories :
  • github : Rechercher dans les dépôts GitHub, le code, les tickets et la documentation
  • research : Rechercher sur des sites académiques et de recherche (arXiv, Nature, IEEE, PubMed, etc.)
  • pdf : Rechercher des fichiers PDF

Exemple d’utilisation

{
  "query": "apprentissage automatique",
  "categories": ["github", "recherche"],
  "limit": 10
}

Catégories de la réponse

Chaque résultat inclut un champ category indiquant sa source :
{
  "success": true,
  "data": {
    "web": [
      {
        "url": "https://github.com/example/ml-project",
        "title": "Machine Learning Project",
        "description": "Implementation of ML algorithms",
        "category": "github"
      },
      {
        "url": "https://arxiv.org/abs/2024.12345",
        "title": "ML Research Paper",
        "description": "Latest advances in machine learning",
        "category": "research"
      }
    ]
  }
}
Utilisez le paramètre tbs pour filtrer les résultats par périodes, y compris avec des intervalles de dates personnalisés. Consultez la documentation de la fonctionnalité de recherche pour des exemples détaillés et les formats pris en charge.

Autorisations

Authorization
string
header
requis

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

Corps

application/json
query
string
requis

La requête de recherche

limit
integer
défaut:5

Nombre maximal de résultats à renvoyer

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

Sources à interroger. Déterminera les tableaux disponibles dans la réponse. Valeur par défaut : ['web'].

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

Catégories utilisées pour filtrer les résultats. Par défaut, la valeur est [], ce qui signifie qu’aucun filtre de catégorie ne sera appliqué aux résultats.

tbs
string

Paramètre de recherche temporel. Prend en charge les plages temporelles prédéfinies (qdr:h, qdr:d, qdr:w, qdr:m, qdr:y) et les plages de dates personnalisées (cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY)

location
string

Paramètre de localisation pour les résultats de recherche (par ex. San Francisco,California,United States). Pour de meilleurs résultats, définissez ce paramètre ainsi que le paramètre country.

country
string
défaut:US

Code pays ISO pour le ciblage géographique des résultats de recherche (par exemple US). Pour de meilleurs résultats, définissez ce paramètre ainsi que le paramètre location.

timeout
integer
défaut:60000

Délai d'expiration en millisecondes

ignoreInvalidURLs
boolean
défaut:false

Exclut des résultats de recherche les URL qui ne sont pas valides pour d’autres endpoints Firecrawl. Cela permet de réduire les erreurs si vous transmettez les données issues de la recherche vers d’autres endpoints de l’API Firecrawl.

scrapeOptions
object

Options pour extraire les résultats de recherche

Réponse

Réponse en cas de succès

success
boolean
data
object

Les résultats de la recherche. Les tableaux disponibles dépendront des sources que vous avez spécifiées dans la requête. Par défaut, le tableau web sera renvoyé.

warning
string | null

Message d’avertissement si des problèmes surviennent