{
  "openapi": "3.0.1",
  "info": {
    "title": "Airbnb API & Scraper · Live Rental Prices · $1.50/1k",
    "description": "Airbnb API for live rental prices as JSON. Search a destination and dates and get one row per listing with the stay total and nightly rate as numbers, rating, beds, bedrooms, coordinates and the listing link. Filter by price, type of place, bedrooms, pets and rating.",
    "version": "0.1",
    "x-build-id": "Hjha8OvGs3aHMyvbF"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/mtnrabi~airbnb-real-time-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-mtnrabi-airbnb-real-time-api",
        "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/mtnrabi~airbnb-real-time-api/runs": {
      "post": {
        "operationId": "runs-sync-mtnrabi-airbnb-real-time-api",
        "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/mtnrabi~airbnb-real-time-api/run-sync": {
      "post": {
        "operationId": "run-sync-mtnrabi-airbnb-real-time-api",
        "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": [
          "destination"
        ],
        "properties": {
          "destination": {
            "title": "Destination",
            "type": "string",
            "description": "Free text, the same as you would type in the Airbnb search box. A city, a region or a neighbourhood with its city, for example Lisbon, Portugal or Le Marais, Paris."
          },
          "checkin_date": {
            "title": "Check-in date",
            "type": "string",
            "description": "A date (YYYY-MM-DD) or a time from today such as 30 days or 2 weeks. A relative value never goes stale, which suits a scheduled run. Leave empty to search 30 days from today."
          },
          "checkout_date": {
            "title": "Check-out date",
            "type": "string",
            "description": "A date (YYYY-MM-DD) after the check-in, or a time from today such as 33 days. Leave empty for a 3-night stay from the check-in."
          },
          "adults": {
            "title": "Adults",
            "minimum": 1,
            "maximum": 16,
            "type": "integer",
            "description": "Guests aged 13 or over.",
            "default": 2
          },
          "children": {
            "title": "Children",
            "minimum": 0,
            "maximum": 15,
            "type": "integer",
            "description": "Guests aged 2 to 12.",
            "default": 0
          },
          "infants": {
            "title": "Infants",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Guests under 2.",
            "default": 0
          },
          "pets": {
            "title": "Pets",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Number of pets. Any value above 0 limits the search to listings that allow pets.",
            "default": 0
          },
          "currency": {
            "title": "Currency",
            "enum": [
              "USD",
              "EUR",
              "GBP",
              "ILS",
              "CAD",
              "AUD",
              "CHF",
              "JPY",
              "INR",
              "BRL",
              "MXN",
              "AED",
              "SGD",
              "TRY",
              "PLN",
              "SEK",
              "NOK",
              "DKK",
              "ZAR",
              "THB"
            ],
            "type": "string",
            "description": "Currency for every price in the results. Each row carries it in the currency field.",
            "default": "USD"
          },
          "price_min": {
            "title": "Minimum price per night",
            "minimum": 0,
            "type": "integer",
            "description": "Optional. In the currency above. Sent to Airbnb as its own price filter, so the search itself is narrowed."
          },
          "price_max": {
            "title": "Maximum price per night",
            "minimum": 1,
            "type": "integer",
            "description": "Optional. In the currency above. Sent to Airbnb as its own price filter, so the search itself is narrowed."
          },
          "room_types": {
            "title": "Type of place",
            "type": "array",
            "description": "Optional. Pick one or more. Empty means any type.",
            "items": {
              "type": "string",
              "enum": [
                "Entire home/apt",
                "Private room",
                "Shared room",
                "Hotel room"
              ],
              "enumTitles": [
                "Entire home or apartment",
                "Private room",
                "Shared room",
                "Hotel room"
              ]
            },
            "default": []
          },
          "min_bedrooms": {
            "title": "Minimum bedrooms",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "Optional."
          },
          "min_beds": {
            "title": "Minimum beds",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "Optional."
          },
          "min_bathrooms": {
            "title": "Minimum bathrooms",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "Optional."
          },
          "min_rating": {
            "title": "Minimum rating (out of 5)",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Optional, for example 4.5. Airbnb's search has no rating filter, so the Actor applies this to the listings the search returned. A listing with no rating yet is left out."
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "price_asc",
              "price_desc",
              "rating_desc"
            ],
            "type": "string",
            "description": "Optional. Empty keeps Airbnb's own order. A sort orders the listings this search returned (one results page), not Airbnb's whole inventory; narrow with the price filters first if you need the cheapest in a city. The price sorts use the nightly rate Airbnb shows, which on a discounted listing can be the rate before the discount."
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}