{
  "openapi": "3.0.1",
  "info": {
    "title": "BikeWale Scraper — India Bike Prices, On-Road Prices & Specs",
    "description": "Scrape BikeWale new bikes and scooters in India: ex-showroom price of every version, on-road price by city (RTO, insurance, EMI), full specs and features, colours, ratings, launch dates, upcoming and discontinued models. By brand, all brands, or model URLs. No login.",
    "version": "0.1",
    "x-build-id": "rrx8VawminBcURy0G"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/yugenox~bikewale-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-yugenox-bikewale-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/yugenox~bikewale-scraper/runs": {
      "post": {
        "operationId": "runs-sync-yugenox-bikewale-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/yugenox~bikewale-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-yugenox-bikewale-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": {
          "brands": {
            "title": "🏍️ Brands",
            "type": "array",
            "description": "Brands to scrape, as BikeWale names them, e.g. \"Honda\", \"Royal Enfield\", \"TVS\", \"Bajaj\", \"Ather\". Company names such as \"Hero MotoCorp\" or \"OLA Electric\" work too. Every model of each brand is listed (popular models first).",
            "items": {
              "type": "string"
            }
          },
          "allBrands": {
            "title": "All brands",
            "type": "boolean",
            "description": "Scrape every brand on BikeWale (about 60). Max bikes is shared fairly between brands.",
            "default": false
          },
          "startUrls": {
            "title": "🔗 BikeWale URLs",
            "type": "array",
            "description": "Optional: BikeWale brand pages (bikewale.com/honda-bikes/), model pages (bikewale.com/honda-bikes/sp-125/) or price-in-city pages (bikewale.com/honda-bikes/sp-125/price-in-mumbai/). A model URL always returns the full model data.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItems": {
            "title": "Max bikes",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of models for the whole run, shared fairly between your brands (a brand with fewer models leaves its share to the others). 0 = everything.",
            "default": 100
          },
          "includeDetails": {
            "title": "Include full details",
            "type": "boolean",
            "description": "Open each model's page for every version with its own price, the full spec sheet and feature list, colours, on-road prices in BikeWale's top cities, the BikeWale verdict with pros and cons, and the brochure. Turn off for a fast price list (one request per brand).",
            "default": true
          },
          "cities": {
            "title": "🏙️ On-road prices in these cities",
            "type": "array",
            "description": "Optional: Indian cities, e.g. \"Mumbai\", \"Bangalore\", \"Delhi\", \"Pune\". Each model gets the on-road price of every version in each city, broken down into ex-showroom price, RTO and insurance, with the EMI BikeWale shows. One extra request per model and city.",
            "items": {
              "type": "string"
            }
          },
          "statuses": {
            "title": "Models to include",
            "type": "array",
            "description": "Launched models (on sale now), upcoming models (expected price and launch date) and discontinued models.",
            "items": {
              "type": "string",
              "enum": [
                "launched",
                "upcoming",
                "discontinued"
              ],
              "enumTitles": [
                "Launched (on sale)",
                "Upcoming",
                "Discontinued"
              ]
            },
            "default": [
              "launched",
              "upcoming"
            ]
          },
          "minPrice": {
            "title": "Min price (₹)",
            "minimum": 0,
            "type": "integer",
            "description": "Only models whose starting ex-showroom price (expected price for upcoming models) is at least this, in rupees. Empty = no minimum."
          },
          "maxPrice": {
            "title": "Max price (₹)",
            "minimum": 0,
            "type": "integer",
            "description": "Only models whose starting ex-showroom price is at most this, in rupees, e.g. 100000 for bikes under ₹1 lakh. Empty = no maximum."
          },
          "fuelType": {
            "title": "Fuel",
            "enum": [
              "any",
              "electric",
              "petrol"
            ],
            "type": "string",
            "description": "Electric or petrol models only.",
            "default": "any"
          },
          "vehicleType": {
            "title": "Type",
            "enum": [
              "any",
              "motorcycle",
              "scooter"
            ],
            "type": "string",
            "description": "Motorcycles or scooters only (BikeWale's body style).",
            "default": "any"
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify Proxy (datacenter) is the default and comes with every Apify plan. If BikeWale refuses datacenter IPs for a while, the run switches to residential proxies when your account has them.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}