{
  "id": "mrscraper.agoda.hotel",
  "object": "tool",
  "name": "Agoda Hotel Details by ID",
  "summary": "Fetch an Agoda hotel by ID and stay dates into hotel details and per-room offers.",
  "description": "Fetch one Agoda hotel by its numeric hotel ID for a stay period. Returns the request specs, the hotel detail block (name, star rating, address, guest rating, review count, image), and the room inventory grouped by platform with each room's name, image, occupancy, breakfast and refund flags, and Agoda's full pricing breakdown (taxes, fees, discounts, cashback, pay-at-hotel). Takes check-in/check-out dates, room and guest counts, currency, and locale. Use /agoda/rates instead when you have the hotel page URL and want a flat per- room rate-plan list. Suited for hotel profile enrichment and discount-structure analysis.\n\nRaw mrscraper#/agoda/hotel endpoint: input is { body, queryParams, pathParams } as the provider documents them (https://docs.mrscraper.com/docs/features/marketplace).",
  "category": "lookup",
  "hosted_by": "MrScraper",
  "runtime": "partner",
  "side_effects": false,
  "status": "live",
  "credits": 0,
  "price": null,
  "providers": [
    {
      "id": "mrscraper",
      "name": "MrScraper",
      "price": null,
      "own_key_only": true
    }
  ],
  "mcp_name": "mrscraper_agoda_hotel",
  "input_schema": {
    "type": "object",
    "properties": {
      "body": {
        "type": "object",
        "properties": {
          "hotelId": {
            "type": "integer",
            "minimum": 1,
            "maximum": 9007199254740991,
            "description": "Agoda's numeric hotel ID (from the hotel page or a prior search)."
          },
          "checkIn": {
            "type": "string",
            "format": "date",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
            "description": "Check-in date in YYYY-MM-DD format."
          },
          "checkOut": {
            "type": "string",
            "format": "date",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
            "description": "Check-out date in YYYY-MM-DD format."
          },
          "rooms": {
            "type": "integer",
            "minimum": 1,
            "maximum": 9007199254740991,
            "description": "Number of rooms."
          },
          "adults": {
            "type": "integer",
            "minimum": 1,
            "maximum": 9007199254740991,
            "description": "Number of adult guests."
          },
          "children": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Number of child guests."
          },
          "currency": {
            "type": "string",
            "minLength": 3,
            "maxLength": 3,
            "description": "Three-letter currency code for returned prices, e.g. 'USD'."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale for returned content, e.g. 'en-US'."
          },
          "login": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "description": "Upstream login-state flag passed to the scraper verbatim (the vendor's examples use 1)."
          }
        },
        "required": [
          "hotelId",
          "checkIn",
          "checkOut",
          "rooms",
          "adults",
          "children",
          "currency",
          "locale",
          "login"
        ],
        "additionalProperties": false
      }
    },
    "required": [
      "body"
    ],
    "additionalProperties": false
  },
  "kind": "endpoint"
}