Unif API Docs
hotelsSearch

Search Hotels

Run one live Hotels search and receive ranked hotel listings for a location and stay dates, including hotel id, class rating, guest reviews, and nightly prices. Pass a hotel id to /hotels/info for full details.

Pricing — $ · min $0.01

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

POST
/hotels/search

Authorization

bearerAuth
AuthorizationBearer <token>

UnifAPI API key. Provider credentials are managed by UnifAPI.

In: header

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/search" \  -H "Content-Type: application/json" \  -d '{}'
{
  "request_id": "string",
  "data": {
    "query": "string",
    "location": "string",
    "language": "string",
    "observed_at": "string",
    "search_url": "string",
    "result_count": 0,
    "results": [
      {
        "hotel_identifier": "string",
        "title": "string",
        "stars": 0,
        "is_paid": true,
        "location": {
          "latitude": 0,
          "longitude": 0
        },
        "reviews": {
          "rating": 0,
          "votes_count": 0,
          "rating_distribution": {
            "property1": 0,
            "property2": 0
          },
          "extras": {
            "property1": null,
            "property2": null
          }
        },
        "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
          }
        },
        "overview_images": [
          "string"
        ],
        "is_billable": true
      }
    ]
  },
  "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
    }
  }
}