Unif API Docs

Get Hotels detail

Run one live Hotels detail lookup for a hotel id from /hotels/search and receive the full profile, including class rating, address, phone, description, guest reviews, images, and prices.

Pricing — $ · min $0.01

Minimum 10 credits ($0.01) per call. Records returned above the minimum bill 1 credit ($0.001) each.

POST
/hotels/info

Authorization

bearerAuth
AuthorizationBearer <token>

UnifAPI API key. Provider credentials are managed by UnifAPI.

In: header

Header Parameters

Unifapi-Version?string

Pin the API version an integration was built against (date-based, e.g. 2026-07-01). Omit to use the current version. Public URL paths stay stable and unversioned; breaking changes ship under a new dated version and are announced with Deprecation and Sunset response headers. The served version is echoed in every response's Unifapi-Version header. Policy: https://unifapi.com/versioning.md

Idempotency-Key?string

Client-supplied unique key that makes a write request safe to retry. If a request with the same key was already processed, the original response is replayed (with Idempotency-Replayed: true) instead of executing — and billing — again. Send a fresh UUID per logical operation. Best-effort with a 24h window.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/hotels/info" \  -H "Content-Type: application/json" \  -d '{    "hotel_identifier": "string"  }'
{  "request_id": "string",  "data": {    "hotel_identifier": "string",    "location": "string",    "language": "string",    "observed_at": "string",    "search_url": "string",    "title": "string",    "stars": 0,    "stars_description": "string",    "address": "string",    "phone": "string",    "about": {      "description": "string",      "full_address": "string",      "domain": "string",      "url": "string",      "check_in_time": "string",      "check_out_time": "string",      "amenities": [        "string"      ],      "extras": {        "property1": null,        "property2": null      }    },    "place": {      "neighborhood": "string",      "neighborhood_description": "string",      "maps_url": "string",      "overall_score": 0,      "score_by_categories": {        "property1": 0,        "property2": 0      },      "latitude": 0,      "longitude": 0,      "extras": {        "property1": null,        "property2": null      }    },    "reviews": {      "rating": 0,      "votes_count": 0,      "rating_distribution": {        "property1": 0,        "property2": 0      },      "extras": {        "property1": null,        "property2": null      }    },    "overview_images": [      "string"    ],    "prices": {      "price": 0,      "price_without_discount": 0,      "currency": "string",      "discount_text": "string",      "prices_by_dates": [        {          "price": 0,          "currency": "string",          "check_in_date": "string",          "check_out_date": "string"        }      ],      "extras": {        "property1": null,        "property2": null      }    }  },  "billing": {    "credits_charged": 0,    "records_charged": 0,    "balance_remaining": 0,    "truncated_due_to_balance": true  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}