Agoda API

  • Data from Agoda

Agoda API for room rates and rate plans

Look a hotel up by name, then read every room type and rate plan Agoda shows a guest for one stay, with the stay total, discounts, meal plan and cancellation terms, in any of 23 currencies.

1,000 free credits a month · Failed requests are free · Free during the beta

Endpoints and prices checked against the API on

On Agoda one room type often carries several rate plans at different prices: with or without breakfast, refundable or not, pay now or pay later, some with a discount against a struck-out price. That ladder is what a rate-shopping team needs to compare like with like. Agoda’s own APIs are for affiliates and connected properties, so this API returns the rooms and prices agoda.com shows a visitor, one row per rate plan.

Agoda has its own quirks. A minimum-stay restriction appears on the site as sold out, so by default the API asks again at longer stays and reports the minimum it found. Currency is a true conversion of one rate, so prices in different currencies can be compared, but the price itself depends on the visitor’s country; set country_market and the response says whether it was collected from that country. Each call prices one stay of up to 30 nights, with check-in up to a year ahead.

What you get

  • recommended_match.property_id — Agoda’s numeric hotel id from a name and city search, with a confidence level
  • property.rooms[].offers[] — one row per rate plan, with its room_type_id and rate_plan_id
  • price, total — the nightly price as displayed and the exact stay total including taxes and fees
  • price_before_taxes, taxes_and_fees — with tax_breakdown on, the nightly price before tax and the taxes and fees for the stay
  • strikeout_price, discount — the crossed-out price and the discount Agoda shows
  • meal_plan, breakfast_included — room only, breakfast, half board, full board or all inclusive
  • free_cancellation, cancellation_policy — whether the plan can be cancelled for free, and Agoda’s policy text
  • pay_later, pay_at_hotel — when and where the guest pays

One call, structured JSON

POST /v1/ota/agoda — 8 credits per successful call.

curl -X POST "https://api.scrapercompany.com/v1/ota/agoda" \
  -H "x-api-key: $SCRAPERCOMPANY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "property_id": "8795952",
    "check_in": "2026-12-10",
    "nights": 1,
    "currency": "USD"
  }'
Response (trimmed)
{
  "search_parameters": {
    "engine": "agoda_property",
    "property_id": "8795952",
    "check_in_date": "2029-02-18",
    "check_out_date": "2029-02-19",
    "adults": 2,
    "rooms": 1,
    "currency": "USD",
    "tax_breakdown": true
  },
  "property": {
    "property_id": "8795952",
    "name": "Moxy Boston Downtown",
    "price_per_night": 527,
    "total": 527.4,
    "price_before_taxes": 412,
    "taxes_and_fees": 115.4,
    "strikeout_price": 742,
    "meal_plan": "room_only",
    "free_cancellation": false,
    "cancellation_policy": "Non-refundable (Low price!)",
    "currency": "USD",
    "tax_inclusive": true,
    "sold_out": false,
    "availability": "available",
    "is_soldout": false,
    "rooms": [
      {
        "name": "Center Stage, Guest room, 1 Queen, City view",
        "offers": [
          {
            "price": 527,
            "currency": "USD",
            "currency_code": "USD",
            "price_text": "USD 527",
            "tax_inclusive": true,
            "discount": "-29%",
            "free_cancellation": false,
            "total": 527.4,
            "strikeout_price": 742,
            "price_before_taxes": 412,
            "taxes_and_fees": 115.4,
            "breakfast_included": false,
            "meal_plan": "room_only",
            "cancellation_policy": "Non-refundable (Low price!)",
            "cancellation_policy_code": "365D100P_100P",
            "pay_later": false,
            "pay_at_hotel": false,
            "room_type_id": "3082196",
            "rate_plan_id": "2844033",
            "benefits": [
              "Free WiFi"
            ],
            "provenance": {
              "schema_version": 1,
              "observation_id": "rateobs_0123456789abcdef0123456789abcdef",
              "collection_id": "ratecol_0123456789abcdef0123456789abcdef",
              "observed_at": "2026-08-07T01:23:45.678Z",
              "source": "agoda",
              "source_kind": "ota_rate_plan",
              "collector": "scrapingme.ota.agoda",
              "source_property_id": "ChUIoben2Mv6-CYaCi9tLzA3czVwbjQQAQ",
              "requested_market": "US",
              "requested_currency": "USD",
              "returned_currency": "USD",
              "egress_mode": "direct",
              "price_basis": "room_base_before_taxes_and_fees",
              "derivation": "normalized_upstream"
            }
          }
        ]
      }
    ]
  },
  "meta": {
    "source": "agoda",
    "nights": 1,
    "wire_bytes": 117723,
    "elapsed_s": 0.361,
    "room_types": 5,
    "offers": 9,
    "tax_breakdown": true,
    "egress_mode": "direct",
    "comparable_across_markets": true
  },
  "point_of_sale": {
    "egress_mode": "direct",
    "egress_market_verified": false
  }
}

Endpoints and price per call

Credits per successful call, and what one call costs on the Starter, Growth, Scale plans. Failed requests cost nothing. See all plans.

EndpointWhat it returnsCreditsStarter · Growth · Scale
Hotel search
POST /v1/ota/agoda/search
Agoda property id for a hotel name and city, with match confidence2 credits$0.0020 · $0.0012 · $0.0008
Rooms and rate plans
POST /v1/ota/agoda
Every room type and rate plan for one stay, in any of 23 currencies8 credits$0.0078 · $0.0048 · $0.0032
Does Agoda have a public API?

Agoda’s APIs are for partners. Affiliates and booking partners get its Content, Search and Book APIs after a commercial agreement and certification, and channel managers use its YCS API to manage rates for the properties they connect. Agoda’s affiliate documentation also tells partners not to compare the prices its API returns with the website. ScraperCompany is independent of Agoda: this API reads the rooms and prices agoda.com shows a visitor.

How do I find a hotel’s Agoda id?

Send the hotel name and city to the hotel search endpoint and store recommended_match.property_id. You can also read it from the hotel’s Agoda URL: the digits after -h in agoda.com/…/hotel/…-h8795952.html, or the hotelId query parameter.

Can I get Agoda prices in another currency or country?

Yes. Pick one of 23 currencies; Agoda converts one underlying rate, so the same offer in USD and EUR differs only by the exchange rate. Agoda also prices by the visitor’s country, so set country_market to the country you want, and the point_of_sale block says whether the price was actually collected from it.

Why does Agoda show a hotel as sold out?

Often because the hotel has a minimum stay: Agoda shows those dates as sold out at shorter lengths. When that happens the API asks again for the same check-in at 2, 3, 4, 5 and 7 nights and reports availability: min_stay with a quote for the first length that prices. Set probe_min_stay to false to keep Agoda’s flag as it is.

Are taxes included in Agoda prices?

total is the stay total including taxes and fees, and tax_inclusive says whether the displayed nightly price includes them. Set tax_breakdown to true to add each offer’s nightly price before taxes and the taxes and fees for the stay.

Do failed requests cost credits?

No. A failed or blocked call (any 4xx or 5xx response) costs 0 credits, and so does a search page that comes back empty. You pay only for successful results.

How do I get an API key?

Create an account on the sign-up page. Public sign-up is invite-only during the beta, so join the waitlist there and we will email you when your account is ready. The Free plan includes 1,000 credits a month, and the API is free while it is in beta. You create and rotate keys yourself in the dashboard.

Start with 1,000 free credits a month

Join the waitlist and we will email you when your account is ready: your own API keys, 1,000 free credits a month, and the API is free during the beta.

Sign-up is invite-only during the beta. Privacy

Or read the quickstart →