{
  "openapi": "3.0.1",
  "info": {
    "title": "Rockauto Parts Scraper",
    "description": "Scrape RockAuto auto parts and car parts by year, make, model, engine, category and part type. Extract part numbers, brands, prices, availability, fitment, categories, images and more from the RockAuto catalog for pricing and market research.",
    "version": "1.0",
    "x-build-id": "QEOu1eNdPL744NelB"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/mrdoe~rockauto-parts-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-mrdoe-rockauto-parts-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/mrdoe~rockauto-parts-scraper/runs": {
      "post": {
        "operationId": "runs-sync-mrdoe-rockauto-parts-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/mrdoe~rockauto-parts-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-mrdoe-rockauto-parts-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": [
          "proxyConfiguration"
        ],
        "properties": {
          "startUrls": {
            "title": "RockAuto catalog URLs",
            "type": "array",
            "description": "RockAuto catalog pages to scrape, copied straight from your browser address bar. Any level of the vehicle tree works: a make (<code>.../catalog/ford</code>), a model, an engine, a category, or a full part-type page such as <code>https://www.rockauto.com/en/catalog/ford,2015,f-150,3.5l+v6,3308774,brake+%26+wheel+hub,brake+pad,1684</code>. The Actor automatically walks down to the parts from wherever you point it. Leave empty if you use the Vehicles field instead.",
            "default": [
              {
                "url": "https://www.rockauto.com/en/catalog/ford,2015,f-150,3.5l+v6,3308774,brake+%26+wheel+hub,brake+pad,1684"
              }
            ],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "vehicles": {
            "title": "Vehicles",
            "type": "array",
            "description": "Select vehicles by name instead of by URL. Each entry is an object with any of: <code>make</code> (required), <code>year</code>, <code>model</code>, <code>engine</code>, <code>category</code>, <code>partType</code>. The Actor follows the normal RockAuto selection path and matches your text to the on-site options. Leave a field out to collect everything below that level (bounded by the limits below). Example: <code>[{\"make\":\"Toyota\",\"year\":2007,\"model\":\"Camry\",\"engine\":\"2.4L L4\",\"category\":\"Engine\",\"partType\":\"Motor Mount\"}]</code>"
          },
          "maxItems": {
            "title": "Max parts per selection",
            "minimum": 1,
            "type": "integer",
            "description": "Upper limit on the number of parts returned for each Start URL or Vehicle entry. A single part-type page on RockAuto can list 100+ parts, so raise this if you want the full list. Set high (e.g. 100000) for no practical limit.",
            "default": 20
          },
          "maxPartTypesPerCategory": {
            "title": "Max part types per category",
            "minimum": 0,
            "type": "integer",
            "description": "Only used when a selection stops above the part-type level (e.g. you give a category but no part type). Caps how many part types are opened inside each category. Set to 0 for all of them.",
            "default": 3
          },
          "maxLeafPages": {
            "title": "Max part-type pages per selection",
            "minimum": 0,
            "type": "integer",
            "description": "Safety cap on how many part-type listing pages are opened for each Start URL or Vehicle entry, to keep broad selections from running away. Set to 0 to disable the cap.",
            "default": 5
          },
          "includeImages": {
            "title": "Include part images",
            "type": "boolean",
            "description": "Collect the image URL(s) shown next to each part.",
            "default": true
          },
          "fetchPartDetails": {
            "title": "Fetch extra part details",
            "type": "boolean",
            "description": "Open each part's info page for alternate part numbers and installation tips. Slower and uses more requests. Disabled by default.",
            "default": false
          },
          "useCache": {
            "title": "Use cache",
            "type": "boolean",
            "description": "Reuse previously collected part lists when they are still recent, to speed up recurring runs and avoid repeated requests. Prices and availability from the cache are only as fresh as the cache age below. Disabled by default.",
            "default": false
          },
          "cacheMaxAgeHours": {
            "title": "Cache max age (hours)",
            "minimum": 1,
            "type": "integer",
            "description": "When Use cache is on, cached part lists older than this are refreshed from RockAuto instead of reused.",
            "default": 24
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "RockAuto shows a verification page for part-listing requests that do not come from a US IP address, so a US proxy is required. The default (Apify Proxy, US) works for most runs; switch to residential IPs if you see verification warnings in the log.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyCountry": "US"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}