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

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 réponse modifié

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

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 plafonnés à 500 durant l’alpha
Le point de terminaison de recherche combine la recherche web (SERP) avec les capacités de scraping de Firecrawl afin de renvoyer le contenu complet des pages pour toute requête. Incluez scrapeOptions avec formats: [{"type": "markdown"}] pour obtenir le contenu complet en markdown pour chaque résultat de recherche ; sinon, vous obtiendrez par défaut les résultats SERP (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 categories

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

Exemple d’utilisation

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

Réponse par catégorie

Chaque résultat comprend un champ category indiquant son origine :
{
  "success": true,
  "data": {
    "web": [
      {
        "url": "https://github.com/example/ml-project",
        "title": "Projet de machine learning",
        "description": "Implémentation d’algorithmes de ML",
        "category": "github"
      },
      {
        "url": "https://arxiv.org/abs/2024.12345",
        "title": "Article de recherche en ML",
        "description": "Dernières avancées en machine learning"
        "category": "research"
      }
    ]
  }
}
Utilisez le paramètre tbs pour filtrer les résultats par période, y compris avec des intervalles de dates personnalisés. Consultez la documentation de la fonctionnalité Search pour des exemples détaillés et les formats pris en charge.

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