# bol.com Reviews API Documentation

Scrappa's `GET /api/bol/reviews` returns the review summary and the first 6 reviews of one bol.com product.

## Credits

One successful request costs 7 credits, also for a product that has no reviews yet. A `404` and every failure cost nothing.

## What you get

`rating` (average), `total` (all reviews on bol.com), `rating_distribution` (count per star 1 to 5), `topics` (review topics with positive, neutral and negative counts) and `reviews`. Each review has `id`, `title`, `text`, `rating` (1 to 5), `date` (ISO 8601), `author`, `verified_purchase`, `pros`, `cons`, `helpful_count`, `unhelpful_count` and `is_translated`.

## Only the first 6 reviews

bol.com sends 6 reviews with the product page and blocks automated access to more. There is no `page` parameter. `returned` says how many reviews are in the response and `total` how many exist.

## Notes

Take `id` from search. An id that does not exist returns `404`.

- **Documentation:** [https://scrappa.co/docs/bol-api/bol_reviews](https://scrappa.co/docs/bol-api/bol_reviews)
- **API group:** bol.com API
- **Endpoint:** `GET https://scrappa.co/api/bol/reviews`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | No | Product id from search, for example 9300000171550609. Send id or url. |
| `url` | string | No | A bol.com product URL. The storefront comes from the URL. Send id or url. |
| `slug` | string | No | Optional product slug. Any slug works, bol.com looks the product up by id. |
| `country` | string | No | nl (default) or be. |
| `language` | string | No | nl (default) or fr. fr needs country=be. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/bol/reviews?id=9300000171550609"
```

## Example response

```json
{
    "success": true,
    "product_id": "9300000171550609",
    "title": "Philips 3000 Series Dual Airfryer - NA351/00 - Dubbele Mand",
    "locale": "nl/nl",
    "rating": 4.6,
    "total": 200,
    "returned": 1,
    "rating_distribution": {
        "1": 5,
        "2": 4,
        "3": 6,
        "4": 28,
        "5": 157
    },
    "topics": [
        {
            "label": "gebruiksgemak",
            "review_count": 145,
            "positive": 143,
            "neutral": 1,
            "negative": 1,
            "summary": null
        }
    ],
    "reviews": [
        {
            "id": "3d0f17c1-30a9-4bdb-9d4a-fc8230a65fae",
            "title": "Dubbel zo handig",
            "text": "Ik heb deze Airfryer een paar weken getest.",
            "rating": 4,
            "date": "2024-07-08T10:06:22Z",
            "author": "Remco",
            "verified_purchase": true,
            "pros": [
                "Makkelijk in onderhoud"
            ],
            "cons": [
                "Voorverwarmen noodzakelijk"
            ],
            "helpful_count": 197,
            "unhelpful_count": 41,
            "is_translated": false
        }
    ],
    "meta": {
        "endpoint_family": "reviews",
        "billable": true,
        "credits": 7,
        "attempts": 1
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 404 | Not Found | No product exists on bol.com with that id (`not_found`). Non-billable. |
| 422 | Validation Error | A query parameter is missing, unknown or unusable. Unknown parameters and unknown values are rejected, never ignored. Non-billable. |
| 503 | Upstream Unavailable | bol.com could not be reached after retries, answered with an error or changed its format (`upstream_unavailable`, `upstream_blocked`, `parser_drift`). Retryable and never billed. Clients are never rate limited. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
