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 levelproperty.rooms[].offers[]— one row per rate plan, with its room_type_id and rate_plan_idprice, total— the nightly price as displayed and the exact stay total including taxes and feesprice_before_taxes, taxes_and_fees— with tax_breakdown on, the nightly price before tax and the taxes and fees for the staystrikeout_price, discount— the crossed-out price and the discount Agoda showsmeal_plan, breakfast_included— room only, breakfast, half board, full board or all inclusivefree_cancellation, cancellation_policy— whether the plan can be cancelled for free, and Agoda’s policy textpay_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"
}'{
"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.
| Endpoint | What it returns | Credits | Starter · Growth · Scale |
|---|---|---|---|
| Hotel search POST /v1/ota/agoda/search | Agoda property id for a hotel name and city, with match confidence | 2 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 currencies | 8 credits | $0.0078 · $0.0048 · $0.0032 |
FAQ
Frequently asked questions
Read next
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.
More APIs on the same key
All APIsBooking.com API
Look a hotel up by name, then read what Booking.com shows a guest: a nightly price calendar, each room type with its rate plans, and the reviews with the property’s replies. Structured JSON, priced per call.
Expedia API
Look a hotel up by name, then read what Expedia shows a guest for one stay: every room type and rate plan with its total, nightly price and cancellation terms, and the guest reviews with the property’s replies.
Hotels.com API
Find a hotel’s Hotels.com id by name, then read what a guest on the Hotels.com site for their country sees: the headline price for a stay, every room type and rate plan, and the guest reviews.
Tripadvisor API
Send a hotel’s Tripadvisor id and a stay, and get the offers Tripadvisor lists from Booking.com, Expedia, Hotels.com and other sites, each with what its price means. Read the hotel’s guest reviews and management replies from the same id.
Airbnb API
Search Airbnb by destination or map area and get each listing with its trip price and breakdown. Then read a listing’s calendar: availability, stay rules and the price Airbnb itself quotes for the nights you choose. Structured JSON, priced per call.
Vrbo API
Search Vrbo for a destination and stay, then quote any rental for exact dates: Vrbo’s nightly figure, its fee-inclusive total, the payment model and whether the dates can be booked. Structured JSON, priced per call.
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.