Passer au contenu principal
POST
/
scrape
Récupérer le contenu d’une URL et éventuellement en extraire des informations à l’aide d’un LLM
curl --request POST \
  --url https://api.firecrawl.dev/v2/scrape \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "url": "<string>",
  "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,
  "zeroDataRetention": false
}
'
{
  "success": true,
  "data": {
    "markdown": "<string>",
    "summary": "<string>",
    "html": "<string>",
    "rawHtml": "<string>",
    "screenshot": "<string>",
    "links": [
      "<string>"
    ],
    "actions": {
      "screenshots": [
        "<string>"
      ],
      "scrapes": [
        {
          "url": "<string>",
          "html": "<string>"
        }
      ],
      "javascriptReturns": [
        {
          "type": "<string>",
          "value": "<unknown>"
        }
      ],
      "pdfs": [
        "<string>"
      ]
    },
    "metadata": {
      "title": "<string>",
      "description": "<string>",
      "language": "<string>",
      "sourceURL": "<string>",
      "keywords": "<string>",
      "ogLocaleAlternate": [
        "<string>"
      ],
      "<any other metadata> ": "<string>",
      "statusCode": 123,
      "error": "<string>"
    },
    "warning": "<string>",
    "changeTracking": {
      "previousScrapeAt": "2023-11-07T05:31:56Z",
      "changeStatus": "new",
      "visibility": "visible",
      "diff": "<string>",
      "json": {}
    },
    "branding": {}
  }
}

Nouveautés de la v2

Nouveaux formats

  • "summary" - Obtenez un résumé concis du contenu de la page
  • L’extraction JSON utilise désormais un format objet : { type: "json", prompt, schema }
  • Le format capture d’écran utilise désormais un format objet : { type: "screenshot", fullPage, quality, viewport }
  • "images" - Extraire toutes les URL d’images de la page
  • "branding" - Extraire l’identité de marque, y compris les couleurs, les polices, la typographie, les espacements et les composants d’interface

Améliorations clés

  • Plus rapide par défaut : les requêtes sont mises en cache avec maxAge défini par défaut à 2 jours
  • Valeurs par défaut judicieuses : blockAds, skipTlsVerification et removeBase64Images sont activés par défaut
  • Options de capture d’écran améliorées : contrôle total des paramètres de capture d’écran via le format objet

Autorisations

Authorization
string
header
requis

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

Corps

application/json
url
string<uri>
requis

L’URL à scraper

formats
(Markdown · object | Summary · object | HTML · object | Raw HTML · object | Links · object | Images · object | Screenshot · object | JSON · object | Change Tracking · object | Branding · object)[]

Formats de sortie à inclure dans la réponse. Vous pouvez spécifier un ou plusieurs formats, soit sous forme de chaînes (par ex. 'markdown'), soit sous forme d’objets avec des options supplémentaires (par ex. { type: 'json', schema: {...} }). Certains formats requièrent la définition d’options spécifiques. Exemple : ['markdown', { type: 'json', schema: {...} }].

onlyMainContent
boolean
défaut:true

Ne renvoyez que le contenu principal de la page, en excluant les en-têtes, éléments de navigation, pieds de page, etc.

includeTags
string[]

Balises à inclure dans le résultat.

excludeTags
string[]

Balises à exclure du résultat.

maxAge
integer
défaut:172800000

Retourne une version mise en cache de la page si elle est plus récente que cette durée (en millisecondes). Si une version mise en cache de la page est plus ancienne que cette valeur, la page sera à nouveau explorée (scrapée). Si vous n’avez pas besoin de données extrêmement récentes, activer cette option peut accélérer vos opérations de scraping de 500 %. Par défaut : 2 jours.

headers
object

En-têtes à inclure dans la requête. Peuvent être utilisés pour envoyer des cookies, un user-agent, etc.

waitFor
integer
défaut:0

Indiquez un délai en millisecondes avant de récupérer le contenu, afin de laisser à la page suffisamment de temps pour se charger. Ce temps d’attente s’ajoute à la fonction d’attente intelligente de Firecrawl.

mobile
boolean
défaut:false

Définissez cette option sur true pour simuler le scraping depuis un appareil mobile. Utile pour tester des pages responsives et prendre des captures d’écran en mode mobile.

skipTlsVerification
boolean
défaut:true

Ignorer la vérification du certificat TLS lors des requêtes.

timeout
integer

Durée avant expiration de la requête, en millisecondes.

parsers
object[]

Contrôle la façon dont les fichiers sont traités lors du scraping. Lorsque « pdf » est inclus (valeur par défaut), le contenu du PDF est extrait et converti au format Markdown, avec une facturation basée sur le nombre de pages (1 crédit par page). Lorsqu’un tableau vide est envoyé, le fichier PDF est renvoyé en encodage base64 avec un tarif fixe de 1 crédit pour l’ensemble du PDF.

actions
(Wait · object | Screenshot · object | Click · object | Write text · object | Press a key · object | Scroll · object | Scrape · object | Execute JavaScript · object | Generate PDF · object)[]

Actions à effectuer sur la page avant de récupérer le contenu

location
object

Paramètres de localisation pour la requête. Lorsqu’ils sont définis, un proxy approprié sera utilisé si disponible et les paramètres de langue et de fuseau horaire correspondants seront simulés. La valeur par défaut est « US » si aucun n’est spécifié.

removeBase64Images
boolean
défaut:true

Supprime toutes les images encodées en base64 de la sortie, car elles peuvent être très volumineuses. Le texte alternatif de l’image est conservé dans la sortie, mais l’URL est remplacée par une valeur fictive.

blockAds
boolean
défaut:true

Active le blocage des publicités et des fenêtres contextuelles de cookies.

proxy
enum<string>
défaut:auto

Spécifie le type de proxy à utiliser.

  • basic : Proxies pour le scraping de sites sans solution anti-bot ou avec des solutions anti-bot basiques. Rapides et généralement efficaces.
  • stealth : Proxies furtifs pour le scraping de sites avec des solutions anti-bot avancées. Plus lents, mais plus fiables sur certains sites. Coût pouvant aller jusqu’à 5 crédits par requête.
  • auto : Firecrawl réessaiera automatiquement le scraping avec des proxies furtifs si le proxy basic échoue. Si la nouvelle tentative avec stealth réussit, 5 crédits seront facturés pour l’opération de scraping. Si la première tentative avec basic réussit, seul le coût normal sera facturé.
Options disponibles:
basic,
stealth,
auto
storeInCache
boolean
défaut:true

Si ce paramètre est défini sur true, la page sera stockée dans l’index et le cache de Firecrawl. Le définir sur false est utile si votre activité de scraping peut soulever des problèmes de protection des données. L’utilisation de certains paramètres associés à un scraping sensible (par ex. actions, headers) forcera ce paramètre à false.

zeroDataRetention
boolean
défaut:false

Si la valeur est true, cela activera la non-conservation totale des données pour ce scraping. Pour activer cette fonctionnalité, veuillez contacter [email protected]

Réponse

Réponse réussie

success
boolean
data
object