{
  "openapi": "3.0.1",
  "info": {
    "title": "Decolar Brazil Car Rentals Scraper",
    "description": "Scrape car rental offers from Decolar / Despegar Brazil (decolar.com/carros) in Brazilian Reais. Pick Brazilian cities and, optionally, a date range, and get vehicle model, price, rental company, transmission and category for every available car.",
    "version": "0.1",
    "x-build-id": "q9IIfukOu514m8PRu"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/xtracto~decolar-brazil-car-rentals/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-xtracto-decolar-brazil-car-rentals",
        "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/xtracto~decolar-brazil-car-rentals/runs": {
      "post": {
        "operationId": "runs-sync-xtracto-decolar-brazil-car-rentals",
        "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/xtracto~decolar-brazil-car-rentals/run-sync": {
      "post": {
        "operationId": "run-sync-xtracto-decolar-brazil-car-rentals",
        "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": {
          "pickupCities": {
            "title": "Pick-up cities",
            "type": "array",
            "description": "Brazilian pick-up cities to search on Decolar (decolar.com). Leave empty to search the full built-in list. Values are Decolar city codes; a raw 3-letter Decolar code not on this list is also accepted.",
            "items": {
              "type": "string",
              "enum": [
                "sao",
                "rio",
                "bhz",
                "cwb",
                "poa",
                "rec",
                "ssa",
                "for",
                "fln",
                "cpq",
                "nat",
                "mcz",
                "mao",
                "vix",
                "jpa",
                "igu",
                "bps",
                "ios",
                "rao"
              ],
              "enumTitles": [
                "São Paulo",
                "Rio de Janeiro",
                "Belo Horizonte",
                "Curitiba",
                "Porto Alegre",
                "Recife",
                "Salvador",
                "Fortaleza",
                "Florianópolis",
                "Campinas",
                "Natal",
                "Maceió",
                "Manaus",
                "Vitória",
                "João Pessoa",
                "Foz do Iguaçu",
                "Porto Seguro",
                "Ilhéus",
                "Ribeirão Preto"
              ]
            }
          },
          "startDate": {
            "title": "Start date (pick-up)",
            "type": "string",
            "description": "Pick-up date and time, YYYY-MM-DD HH:MM:SS (e.g. 2026-09-07 10:30:00). Leave both dates empty to get each city's current landing offers instead of a dated search."
          },
          "endDate": {
            "title": "End date (drop-off)",
            "type": "string",
            "description": "Drop-off date and time, YYYY-MM-DD HH:MM:SS. Must be after the start date. Ignored when Date ranges is set."
          },
          "dateRanges": {
            "title": "Date ranges (many rental periods in one run)",
            "type": "array",
            "description": "Search several rental periods in a single run. Every city is searched for every period listed here, sharing one warm-up, which is far cheaper than one run per period. Format: [{\"startDate\": \"2026-09-07 10:30:00\", \"endDate\": \"2026-09-08 10:30:00\"}]. Overrides the single Start/End date fields above."
          },
          "maxResultsPerCity": {
            "title": "Max offers per city",
            "minimum": 0,
            "type": "integer",
            "description": "Cap the number of car offers emitted per city. 0 = no cap (every offer Decolar lists).",
            "default": 0
          },
          "pageSize": {
            "title": "Offers requested per call",
            "minimum": 5,
            "maximum": 60,
            "type": "integer",
            "description": "Decolar's chapu pageSize. The actor pages through results until the city is exhausted; a larger value means fewer round-trips.",
            "default": 24
          },
          "sessionHuntAttempts": {
            "title": "Session hunt attempts",
            "minimum": 5,
            "maximum": 250,
            "type": "integer",
            "description": "How many Brazilian residential exit IPs to try before giving up on finding one Decolar's DataDome protection accepts. One accepted session covers the whole run, so the default of 80 leaves a wide margin. Each attempt costs a second or two.",
            "default": 80
          },
          "currency": {
            "title": "Currency",
            "type": "string",
            "description": "Currency label recorded on the output. Keep BRL (R$) — the Brazilian point of sale is what this actor targets.",
            "default": "BRL"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Must be a Brazilian residential proxy. Decolar is behind DataDome and blocks datacentre / foreign IPs; a Brazilian residential exit is required to clear it and to get Brazilian pricing.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "BR"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}