crawlbaseDocs
Se connecter

Utilisation de l'API

Ajoutez &scraper=booking-serp à une requête Crawling API. Encodez en URL l'URL cible dans le paramètre url.

curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
  --data-urlencode 'url=https://www.booking.com/searchresults.html?ss=Amsterdam' \
  --data-urlencode 'scraper=booking-serp' -G
from crawlbase import CrawlingAPI

api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
    'https://www.booking.com/searchresults.html?ss=Amsterdam',
    {'scraper': 'booking-serp'}
)

import json
data = json.loads(res['body'])
const { CrawlingAPI } = require('crawlbase');
const api = new CrawlingAPI({ token: 'YOUR_TOKEN' });

const res = await api.get(
  'https://www.booking.com/searchresults.html?ss=Amsterdam',
  { scraper: 'booking-serp' }
);
const data = JSON.parse(res.body);
require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')

res = api.get('https://www.booking.com/searchresults.html?ss=Amsterdam', scraper: 'booking-serp')
data = JSON.parse(res.body)

Exemple d'URL en entrée

L'URL passée dans le paramètre url (décodée pour plus de lisibilité) :

https://www.booking.com/searchresults.html?ss=Amsterdam

Structure de la réponse

Corps de la réponse JSON. Les types de champs peuvent être null lorsque la page source omet la valeur.

searchUrl
string
URL canonique des résultats de recherche.
destination
string
Destination pour laquelle la recherche a été effectuée.
propertyCount
integer
Nombre d'établissements renvoyés dans properties.
properties
array
Établissements correspondant à la recherche, dans l'ordre renvoyé par Booking.com.
properties[].name
string
Nom de l'établissement.
properties[].url
string
URL canonique Booking.com de l'établissement.
properties[].address
string
Adresse de l'établissement.
properties[].distance
string | null
Distance par rapport au centre de la destination, lorsque présente.
properties[].price
string
Texte de prix formaté tel qu'affiché sur l'annonce.
properties[].priceAmount
number | null
Valeur numérique du prix, ou null lorsqu'elle ne peut pas être analysée.
properties[].currency
string | null
Code de devise du prix, lorsque présent.
properties[].reviewScore
number | null
Score moyen des avis, ou null lorsqu'il n'y a aucun avis.
properties[].reviewCount
integer | null
Nombre d'avis, ou null lorsqu'il n'y a aucun avis.
properties[].rating
integer | null
Classement en étoiles de l'établissement, ou null lorsqu'il n'est pas classé.
properties[].image
string | null
URL de l'image miniature, lorsqu'elle est présente.

Exemple de réponse

{
  "searchUrl": "https://www.booking.com/searchresults.html?ss=Amsterdam",
  "destination": "Amsterdam",
  "propertyCount": 2,
  "properties": [
    {
      "name": "Canal House Amsterdam",
      "url": "https://www.booking.com/hotel/nl/canal-house-amsterdam.html",
      "address": "Keizersgracht 148, Amsterdam City Center, 1015 CX Amsterdam",
      "distance": "0.8 km from centre",
      "price": "€ 245",
      "priceAmount": 245,
      "currency": "EUR",
      "reviewScore": 9.1,
      "reviewCount": 1284,
      "rating": 4,
      "image": "https://cf.bstatic.com/xdata/images/hotel/canal-house.jpg"
    },
    {
      "name": "Jordaan Boutique Stay",
      "url": "https://www.booking.com/hotel/nl/jordaan-boutique-stay.html",
      "address": "Prinsengracht 302, Jordaan, 1016 HX Amsterdam",
      "distance": "1.2 km from centre",
      "price": "€ 189",
      "priceAmount": 189,
      "currency": "EUR",
      "reviewScore": 8.7,
      "reviewCount": 642,
      "rating": 3,
      "image": null
    }
  ]
}