# Holidu Recommendations API Documentation

<p><strong>Holidu Recommendations API Documentation</strong> Get properties similar to one offer, with the same offer fields as the search.</p>

- **Documentation:** [https://scrappa.co/docs/holidu-api/holidu_recommendations](https://scrappa.co/docs/holidu-api/holidu_recommendations)
- **API group:** Holidu API
- **Endpoint:** `GET https://scrappa.co/api/holidu/recommendations`

## 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 |
| --- | --- | --- | --- |
| `offer_id` | string | Yes | Holidu offer id (a number) from a search result, e.g. 63793870. |
| `market` | string | No | Country site: com (USD), de (EUR), uk (GBP) or fr (EUR). Defaults to com. An unknown value is rejected. |

## Example response

```json
{
    "data": {
        "market": "com",
        "offers": [
            {
                "id": "65781258",
                "url": "https://www.holidu.com/d/65781258",
                "tags": [],
                "usps": [
                    {
                        "id": "USP_PEOPLE",
                        "unit": null,
                        "group": "PEOPLE",
                        "value": 2,
                        "format": "NUMBER"
                    },
                    {
                        "id": "USP_BED_ROOM",
                        "unit": null,
                        "group": "LAYOUT",
                        "value": 1,
                        "format": "NUMBER"
                    }
                ],
                "dates": null,
                "price": {
                    "ccy": "USD",
                    "daily": 86,
                    "total": 602,
                    "nights": null,
                    "currency": "USD",
                    "is_exact": false,
                    "discount_type": null,
                    "discount_amount": null,
                    "discount_percentage": null,
                    "discount_description": null,
                    "strike_through_daily": null,
                    "strike_through_total": null
                },
                "photos": [
                    {
                        "large": "https://img.holidu.com/images/75d4474c-b167-4f34-92d7-49a13520e5da/l.jpg",
                        "medium": "https://img.holidu.com/images/75d4474c-b167-4f34-92d7-49a13520e5da/m.jpg",
                        "overlay": false,
                        "high_res": "https://img.holidu.com/images/75d4474c-b167-4f34-92d7-49a13520e5da/hr.jpg",
                        "thumbnail": "https://img.holidu.com/images/75d4474c-b167-4f34-92d7-49a13520e5da/t.jpg"
                    },
                    {
                        "large": "https://img.holidu.com/images/e1167339-dca4-4315-acc5-bce557d56085/l.jpg",
                        "medium": "https://img.holidu.com/images/e1167339-dca4-4315-acc5-bce557d56085/m.jpg",
                        "overlay": false,
                        "high_res": "https://img.holidu.com/images/e1167339-dca4-4315-acc5-bce557d56085/hr.jpg",
                        "thumbnail": "https://img.holidu.com/images/e1167339-dca4-4315-acc5-bce557d56085/t.jpg"
                    }
                ],
                "rating": {
                    "count": 4,
                    "value": 90
                },
                "details": {
                    "area": {
                        "unit": "UNIT_SF",
                        "value": 215
                    },
                    "name": "A Canal St Martin Lovely Room",
                    "bed_types": [
                        "BED_DOUBLE"
                    ],
                    "long_name": "Studio for 2 people",
                    "unit_name": null,
                    "pets_count": null,
                    "short_name": [
                        "215 ft\u00b2",
                        "Studio"
                    ],
                    "guests_count": 2,
                    "apartment_type": "STUDIO",
                    "bedrooms_count": 1,
                    "short_description": null,
                    "apartment_type_name": "Studio",
                    "apartment_type_title": "Studio",
                    "alternative_long_name": null
                },
                "group_id": "66180689",
                "location": {
                    "lat": 48.881367,
                    "lng": 2.359293,
                    "name": "10th Arrondissement, Paris",
                    "geo_hash": "u09wjdtfxe22",
                    "distance_to_search_region_center": {
                        "id": null,
                        "unit": "UNIT_MI",
                        "value": 1.7,
                        "format": "NUMBER_WITH_UNIT"
                    },
                    "distance_to_original_search_region_center": null
                },
                "position": 1,
                "provider": {
                    "id": "NEXTPAX_MEMBRZ",
                    "logo_url": "https://static.holidu.com/img/provider/logos/NEXTPAX_MEMBRZ_1.png",
                    "legal_name": "SCOT HOLDING",
                    "short_name": "MB",
                    "statistics": null,
                    "is_premium_partner": false
                },
                "meta_data": {
                    "multi_unit_data": {
                        "units": [],
                        "number_of_units": 3,
                        "part_of_multi_unit": true
                    }
                },
                "fuzzy_tags": [],
                "amenities_v2": null,
                "amenities_v3": null,
                "is_available": null,
                "is_star_host": false,
                "routing_type": "DETAIL",
                "holidu_rating": null,
                "review_extract": null,
                "distance_to_ski": null,
                "missing_filters": null,
                "distance_to_lake": {
                    "id": null,
                    "unit": "UNIT_YD",
                    "value": 950,
                    "format": "NUMBER_WITH_UNIT"
                },
                "ski_resort_names": [],
                "distance_to_beach": null,
                "external_group_id": null,
                "cancellation_policy": {
                    "free_cancellation": {
                        "amount": null,
                        "percentage": null,
                        "until_date": null,
                        "days_before_arrival": 30
                    },
                    "light_cancellation": null
                },
                "is_express_bookable": true,
                "is_instant_bookable": true,
                "distance_to_coast_line": null,
                "alternative_price_rates": [],
                "distance_to_city_center": {
                    "id": null,
                    "unit": "UNIT_MI",
                    "value": 1.7,
                    "format": "NUMBER_WITH_UNIT"
                }
            }
        ],
        "offer_id": "63793870"
    },
    "meta": {
        "billable": true,
        "endpoint_family": "recommendations"
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A required query parameter is missing or invalid. This response is not billable. |
| 404 | Resource Not Found | The offer id is unknown or the property is no longer listed. This response is not billable. |
| 503 | Service Unavailable | Holidu could not be reached, answered with an unexpected shape or returned a result that does not match the request. This response is not billable. Retry later. |

## 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)
