Agoda Hotel Search Scraper
Pricing
Pay per event
Agoda Hotel Search Scraper
Search Agoda hotels by destination or city id with real filters and sorting: stars, price, review score, free cancellation, breakfast, facilities. No login needed.
Agoda Hotel Search Scraper
Pricing
Pay per event
Search Agoda hotels by destination or city id with real filters and sorting: stars, price, review score, free cancellation, breakfast, facilities. No login needed.
You can access the Agoda Hotel Search Scraper programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in API & Integrations in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "0.0", "x-build-id": "EPZKgCMGNfQmv4vYj" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/romy~agoda-hotel-search-scraper/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-romy-agoda-hotel-search-scraper", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } }, "/acts/romy~agoda-hotel-search-scraper/runs": { "post": { "operationId": "runs-sync-romy-agoda-hotel-search-scraper", "x-openai-isConsequential": false, "summary": "Executes an Actor and returns information about the initiated run in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/runsResponseSchema" } } } } } } }, "/acts/romy~agoda-hotel-search-scraper/run-sync": { "post": { "operationId": "run-sync-romy-agoda-hotel-search-scraper", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } } }, "components": { "schemas": { "inputSchema": { "type": "object", "required": [ "checkin" ], "properties": { "destination": { "title": "Destination (free text)", "type": "string", "description": "Free-text place name, e.g. \"Bangkok\". Resolved to a cityId via Agoda's own autocomplete. Either this or cityId is required." }, "cityId": { "title": "City id", "type": "integer", "description": "Agoda city id, used directly instead of resolving \"destination\" (skips the extra autocomplete call). Either this or destination is required. Example known-working id: 9395 (Bangkok)." }, "checkin": { "title": "Check-in date", "type": "string", "description": "Check-in date, format YYYY-MM-DD. Required." }, "checkout": { "title": "Check-out date", "type": "string", "description": "Check-out date, format YYYY-MM-DD. If given, overrides \"los\" (los is computed as checkout-checkin)." }, "los": { "title": "Length of stay (nights)", "minimum": 1, "maximum": 30, "type": "integer", "description": "Length of stay in nights, 1-30. Ignored if checkout is given. Defaults to 1 night.", "default": 1 }, "adults": { "title": "Adults per room", "minimum": 1, "type": "integer", "description": "Adults per room.", "default": 2 }, "rooms": { "title": "Rooms", "minimum": 1, "type": "integer", "description": "Number of rooms.", "default": 1 }, "children": { "title": "Children per room", "minimum": 0, "type": "integer", "description": "Children per room.", "default": 0 }, "childrenAges": { "title": "Children's ages", "type": "array", "description": "Ages of each child (0-17), one per entry. Padded with age 8 / truncated to match \"children\" if the count differs.", "items": { "type": "string" } }, "currency": { "title": "Currency", "type": "string", "description": "ISO currency code for prices, e.g. USD, THB, EUR.", "default": "USD" }, "locale": { "title": "Locale", "type": "string", "description": "Response language as an Agoda locale, e.g. th-th, ja-jp, zh-cn, en-us (default).", "default": "en-us" }, "sortField": { "title": "Sort field", "enum": [ "Ranking", "Price", "StarRating", "AllGuestsReviewScore", "GroupsReviewScore", "FamiliesWithYoungReviewScore", "FamiliesWithTeenReviewScore", "SoloTravllersReviewScore", "CouplesReviewScore", "BusinessTravellerReviewScore", "ReviewCount", "ReviewAndPrice", "InsiderDeal", "SecretDeal", "PackageDeal", "DistanceFromLandmark" ], "type": "string", "description": "Sort field (default Ranking = server \"best match\"). Only fields verified to actually reorder results are offered; see README for per-field notes (e.g. Price/StarRating are strictly monotone, ReviewAndPrice/InsiderDeal/SecretDeal/PackageDeal ignore sortOrder, DistanceFromLandmark needs sortLandmarkId).", "default": "Ranking" }, "sortOrder": { "title": "Sort order", "enum": [ "Asc", "Desc" ], "type": "string", "description": "Sort direction. Ignored by some sortField values (see sortField description).", "default": "Desc" }, "sortLandmarkId": { "title": "Sort landmark id", "type": "integer", "description": "Landmark id to sort by distance from. Only affects sortField=DistanceFromLandmark." }, "maxResults": { "title": "Max results", "minimum": 1, "type": "integer", "description": "Stop after this many unique hotels (deduped by propertyId). Paginates hotels/search internally up to this many, or until the upstream runs out.", "default": 100 }, "stars": { "title": "Star ratings", "type": "array", "description": "Star-rating buckets to include (1-5; 1 means <2 stars), OR'd together.", "items": { "type": "string" } }, "reviewScoreMin": { "title": "Minimum review score", "minimum": 0, "maximum": 10, "type": "number", "description": "Minimum guest review score, 0-10 scale." }, "reviewScoreMax": { "title": "Maximum review score", "minimum": 0, "maximum": 10, "type": "number", "description": "Maximum guest review score, 0-10 scale." }, "priceMin": { "title": "Minimum price per night", "type": "number", "description": "Minimum per-night price in \"currency\"." }, "priceMax": { "title": "Maximum price per night", "type": "number", "description": "Maximum per-night price in \"currency\"." }, "name": { "title": "Hotel name contains", "type": "string", "description": "Filter by hotel name (server-side match), e.g. \"Hilton\"." }, "freeCancellation": { "title": "Free cancellation only", "type": "boolean", "description": "Only hotels with a free-cancellation rate available." }, "breakfastIncluded": { "title": "Breakfast included only", "type": "boolean", "description": "Only hotels with a breakfast-included room offer." }, "paymentOptions": { "title": "Payment option ids", "type": "array", "description": "Payment-option ids, OR'd together (84640 pay now, 49499 free cancellation, 52770 book now pay later, 56649 pay at hotel, 80031 no credit card needed).", "items": { "type": "string" } }, "facilitiesAny": { "title": "Facility ids (any)", "type": "array", "description": "Hotel-facility ids, matches hotels with ANY of them (OR; sample: 93 pool, 92 gym, 90 internet, 80 car park, 17 airport transfer, 116 24h front desk).", "items": { "type": "string" } }, "facilitiesAll": { "title": "Facility ids (all)", "type": "array", "description": "Hotel-facility ids, matches hotels with ALL of them (AND).", "items": { "type": "string" } }, "accommodationTypes": { "title": "Accommodation type ids", "type": "array", "description": "Accommodation-type ids (sample: 34 Hotel, 29 Apartment/Flat, 33 Hostel, 120 Serviced apartment, 131 Entire House, 32 Guesthouse/B&B).", "items": { "type": "string" } }, "areaIds": { "title": "Area ids", "type": "array", "description": "Restrict results to these area ids within the searched destination.", "items": { "type": "string" } }, "landmarkIds": { "title": "Landmark ids", "type": "array", "description": "Restrict results to hotels near these landmark ids.", "items": { "type": "string" } }, "affordableCategory": { "title": "Affordable category ids", "type": "array", "description": "Affordable-category ids (1 Budget, 2 Luxury).", "items": { "type": "string" } }, "bedrooms": { "title": "Bedroom count buckets", "type": "array", "description": "Number-of-bedrooms buckets (1, 2, 3=3+).", "items": { "type": "string" } }, "familyFacilities": { "title": "Family facility ids", "type": "array", "description": "Family-facility ids.", "items": { "type": "string" } }, "hostLevel": { "title": "Host level ids", "type": "array", "description": "Host-level ids.", "items": { "type": "string" } }, "characteristics": { "title": "Characteristic ids", "type": "array", "description": "Property \"characteristic\" ids (sample: 1 Backpacker Favorite, 9 Transit, 10 Value For Money, 13 Shopping, 16 Sightseeing).", "items": { "type": "string" } }, "tripPurpose": { "title": "Trip purpose ids", "type": "array", "description": "Trip-purpose ids.", "items": { "type": "string" } }, "curatedCollections": { "title": "Curated collection ids", "type": "array", "description": "Curated-collection ids.", "items": { "type": "string" } }, "deals": { "title": "Deal ids", "type": "array", "description": "Deal ids (sample: 81337 secret deals, 81485 50%+ discount, 119520 2X AgodaCash, 105046 AgodaVIP Deals).", "items": { "type": "string" } }, "hotelChainIds": { "title": "Hotel chain ids", "type": "array", "description": "Hotel-chain ids (sample: 3 Accor).", "items": { "type": "string" } }, "productType": { "title": "Product type ids", "type": "array", "description": "Product-type ids (-1 all, 1 hotels, 2 homes).", "items": { "type": "string" } }, "bookingDuration": { "title": "Booking duration type", "enum": [ "hourly", "nightly" ], "type": "string", "description": "Booking-duration type." } } }, "runsResponseSchema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "actId": { "type": "string" }, "userId": { "type": "string" }, "startedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "finishedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "status": { "type": "string", "example": "READY" }, "meta": { "type": "object", "properties": { "origin": { "type": "string", "example": "API" }, "userAgent": { "type": "string" } } }, "stats": { "type": "object", "properties": { "inputBodyLen": { "type": "integer", "example": 2000 }, "rebootCount": { "type": "integer", "example": 0 }, "restartCount": { "type": "integer", "example": 0 }, "resurrectCount": { "type": "integer", "example": 0 }, "computeUnits": { "type": "integer", "example": 0 } } }, "options": { "type": "object", "properties": { "build": { "type": "string", "example": "latest" }, "timeoutSecs": { "type": "integer", "example": 300 }, "memoryMbytes": { "type": "integer", "example": 1024 }, "diskMbytes": { "type": "integer", "example": 2048 } } }, "buildId": { "type": "string" }, "defaultKeyValueStoreId": { "type": "string" }, "defaultDatasetId": { "type": "string" }, "defaultRequestQueueId": { "type": "string" }, "buildNumber": { "type": "string", "example": "1.0.0" }, "containerUrl": { "type": "string" }, "usage": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "integer", "example": 1 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 } } }, "usageTotalUsd": { "type": "number", "example": 0.00005 }, "usageUsd": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "number", "example": 0.00005 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Agoda Hotel Search Scraper from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: