{
  "openapi": "3.0.1",
  "info": {
    "title": "Airbnb Full Year Price Tracker Scraper: Total Cost Breakdown",
    "description": "Scrape full year Airbnb pricing data with ease. The actor gathers nightly rates, date ranges, availability, and seasonal patterns. Perfect for hosts, analysts, and investors studying long term pricing trends.",
    "version": "0.1",
    "x-build-id": "6zcvUK2Q4mRNhAJ1V"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/api-empire~airbnb-full-year-price-tracker-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-api-empire-airbnb-full-year-price-tracker-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/api-empire~airbnb-full-year-price-tracker-scraper/runs": {
      "post": {
        "operationId": "runs-sync-api-empire-airbnb-full-year-price-tracker-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/api-empire~airbnb-full-year-price-tracker-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-api-empire-airbnb-full-year-price-tracker-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",
        "properties": {
          "listings": {
            "title": "🔗 Airbnb Listings to Quote",
            "type": "array",
            "description": "One or more Airbnb listing URLs, numeric listing IDs, or search keywords to build a cost quote for. Example: full /rooms/ URL, an ID like 7431972, or 'beach house in Malibu'. (The legacy 'startUrls' field is still accepted.)",
            "items": {
              "type": "string"
            }
          },
          "checkIn": {
            "title": "📆 Check-In Date",
            "type": "string",
            "description": "First check-in date for the quote (YYYY-MM-DD). Past or unavailable dates are auto-shifted 30 days ahead so a live price is returned. (Legacy 'checkInDate' still accepted.)"
          },
          "nights": {
            "title": "🌙 Number of Nights",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "Length of stay in nights. This directly drives the nightly-rate × nights subtotal and changes the grand total. Example: nights=3 quotes a 3-night booking. Default is 3. (Legacy 'stayDays' still accepted.)"
          },
          "quoteDates": {
            "title": "🗓️ Consecutive Check-In Dates to Quote",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "How many consecutive check-in dates (starting from the check-in date) to produce a cost breakdown for. Example: quoteDates=7 returns one full cost breakdown per day for a week. Default is 30. (Legacy 'numberOfDays' still accepted.)"
          },
          "quoteCurrency": {
            "title": "💱 Quote Currency",
            "enum": [
              "USD",
              "GBP",
              "EUR",
              "CAD",
              "AUD",
              "MXN",
              "BRL",
              "JPY",
              "INR",
              "AED",
              "SGD",
              "CHF"
            ],
            "type": "string",
            "description": "Currency the itemized cost breakdown is returned in. (Legacy 'currency' still accepted.)"
          },
          "adultGuests": {
            "title": "🧑 Adults in Party",
            "minimum": 1,
            "maximum": 16,
            "type": "integer",
            "description": "Number of adults in the booking party. Larger parties can trigger an extra-guest fee that raises the quoted total. Example: adultGuests=4. Default is 2. (Legacy 'adults' still accepted.)"
          },
          "childGuests": {
            "title": "🧒 Children in Party",
            "minimum": 0,
            "maximum": 16,
            "type": "integer",
            "description": "Number of children (ages 2-12) in the party. Example: childGuests=1. Default is 0. (Legacy 'children' still accepted.)"
          },
          "infantGuests": {
            "title": "🍼 Infants in Party",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Number of infants (under 2) in the party. Infants usually do not affect price but are sent with the quote for accuracy. Example: infantGuests=1. Default is 0. (Legacy 'infants' still accepted.)"
          },
          "petsIncluded": {
            "title": "🐾 Pets in Party",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Number of pets traveling. Some listings add a pet fee that appears in the breakdown. Example: petsIncluded=1. Default is 0. (Legacy 'pets' still accepted.)"
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy Configuration",
            "type": "object",
            "description": "Apify Proxy settings (optional). The actor starts with no proxy for lower cost and escalates to datacenter then residential automatically if Airbnb blocks the request."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}