{
  "openapi": "3.0.1",
  "info": {
    "title": "1A Auto Scraper: US Auto Parts, Prices, Fitment, Install Videos",
    "description": "Scrape 1aauto.com, the US online auto parts retailer: aftermarket and OEM parts with USD prices, stock, ratings, vehicle fitment and interchange numbers, plus install guides, categories and brands. Filter by vehicle, brand, category, price. No login, no proxy. Export JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "X5BVyyxfTS0XejkiS"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/recordsdata~1aauto-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-recordsdata-1aauto-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/recordsdata~1aauto-scraper/runs": {
      "post": {
        "operationId": "runs-sync-recordsdata-1aauto-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/recordsdata~1aauto-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-recordsdata-1aauto-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": {
          "mode": {
            "title": "Where to read from",
            "enum": [
              "search",
              "lookup"
            ],
            "type": "string",
            "description": "Search finds parts, install guides, categories and brands from your filters. Lookup reads exactly the part pages, install video pages and 1A Auto part numbers you list in Addresses and Part numbers.",
            "default": "search"
          },
          "recordTypes": {
            "title": "What to collect",
            "type": "array",
            "description": "Parts (one row per part, with price, stock, specifications, vehicle fitment and interchange numbers), install guides (one row per how-to video page with tools, vehicles and transcript), categories (the full category tree) and brands. Categories, brands and guides are read in mode Search.",
            "items": {
              "type": "string",
              "enum": [
                "parts",
                "guides",
                "categories",
                "brands"
              ],
              "enumTitles": [
                "Parts: auto parts with price, stock and fitment",
                "Install guides: how-to videos with tools and vehicles",
                "Categories: the 1A Auto category tree",
                "Brands: the brands sold on 1A Auto"
              ]
            },
            "default": [
              "parts"
            ]
          },
          "searchQueries": {
            "title": "Search text",
            "type": "array",
            "description": "Optional. Words to look for, for example brake pads, serpentine belt or a part number such as OSA61291. Every word of one text must appear (any order, case ignored; numbers match as whole numbers) in the part name, brand, part number or 1A Auto part number; a part passes when any of the texts matches. For install guides the words are matched against the guide title.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Optional. Category names such as Brake Pads or Oxygen Sensors, category ids such as 71, or category page addresses. A group name such as Brakes & Wheel Bearing selects every category in it. An unknown category returns a free error row with the closest names.",
            "items": {
              "type": "string"
            }
          },
          "brands": {
            "title": "Brands",
            "type": "array",
            "description": "Optional. Brand names such as TRQ, MOOG, Dorman, ACDelco or Ford OEM, or brand ids. An unknown brand returns a free error row with the closest names.",
            "items": {
              "type": "string"
            }
          },
          "vehicleMake": {
            "title": "Vehicle make",
            "type": "string",
            "description": "Optional. Keeps parts that fit this make, for example Ford, Honda or Chevrolet. Use it with a model for a precise result; a make alone reads every model of the make. For install guides the make must appear in the guide title."
          },
          "vehicleModel": {
            "title": "Vehicle model",
            "type": "string",
            "description": "Optional. Keeps parts that fit this model, for example F-150, Civic or Silverado 1500. A short name such as Silverado covers every Silverado model. An unknown model returns a free error row with the closest names."
          },
          "vehicleYear": {
            "title": "Vehicle year",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Optional. Model year of the vehicle, for example 2015. Needs a make or a model. Keeps parts whose fitment covers that year."
          },
          "minPrice": {
            "title": "Minimum price (USD)",
            "minimum": 0,
            "type": "number",
            "description": "Optional. Lowest price in US dollars. Applies to parts. Without categories, brands, a vehicle or search text, the price is checked on the category lists (10 parts per request), which is much faster than reading every part page."
          },
          "maxPrice": {
            "title": "Maximum price (USD)",
            "minimum": 0,
            "type": "number",
            "description": "Optional. Highest price in US dollars. Applies to parts. Most parts cost more than 20 dollars, so a very low limit can take a long scan; pair it with a category for a quick result."
          },
          "inStockOnly": {
            "title": "In stock only",
            "type": "boolean",
            "description": "Skips parts that 1A Auto shows as out of stock.",
            "default": false
          },
          "onSaleOnly": {
            "title": "Below list price only",
            "type": "boolean",
            "description": "Keeps only parts whose price is below the crossed-out list price shown on the page.",
            "default": false
          },
          "minRating": {
            "title": "Minimum rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Optional. Keeps parts with at least this customer rating (0 to 5). Parts without reviews are left out when this is set. Checked on the category lists when no other scope is set."
          },
          "modifiedSince": {
            "title": "Updated since",
            "type": "string",
            "description": "Optional, mode Search. A date such as 2026-10-01. Keeps pages whose last-modified date in the 1A Auto sitemap is that day or later. It cannot be combined with categories, brands or a vehicle for parts, because those lists carry no dates."
          },
          "sortBy": {
            "title": "Order",
            "enum": [
              "sitemap",
              "recentlyUpdated"
            ],
            "type": "string",
            "description": "Mode Search, sitemap reads only. Sitemap order starts returning rows right away. Recently updated reads the whole sitemap first, then returns the newest pages first. Categories, brands and vehicle filters list parts in the site order.",
            "default": "sitemap"
          },
          "startUrls": {
            "title": "Addresses",
            "type": "array",
            "description": "In mode Lookup: part pages (https://www.1aauto.com/o2-oxygen-sensor-trq-osa61291/i/1aeos00170) and install video pages (https://www.1aauto.com/how-to-replace-serpentine-belt-1997-2003-ford-f-150/video/58755). In mode Search: category, brand or vehicle model pages whose parts you want to list, for example https://www.1aauto.com/brake-pads/c/71.",
            "items": {
              "type": "string"
            }
          },
          "skus": {
            "title": "Part numbers (1A Auto)",
            "type": "array",
            "description": "Used in mode Lookup. 1A Auto part numbers, the code at the end of a part address (1AEOS00170). A number the site does not know returns a free error row.",
            "items": {
              "type": "string"
            }
          },
          "includeDescription": {
            "title": "Include the part description",
            "type": "boolean",
            "description": "Adds the part description as plain text. Turn it off for smaller rows.",
            "default": true
          },
          "includeFitment": {
            "title": "Include vehicle fitment",
            "type": "boolean",
            "description": "Adds the list of vehicles each part fits (years, make, model and engine details). With a vehicle filter only the entries for that vehicle are listed. Turn it off for smaller rows.",
            "default": true
          },
          "maxFitmentRows": {
            "title": "Maximum fitment entries per row",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "A part can fit hundreds of vehicles. Only this many entries are listed per part (and per install guide); the total is in fitmentCount and vehicleCount.",
            "default": 100
          },
          "includeInterchange": {
            "title": "Include interchange part numbers",
            "type": "boolean",
            "description": "Adds the competitor and OEM part numbers the part replaces (brand and number). Up to 100 are listed.",
            "default": true
          },
          "includeTranscript": {
            "title": "Include the install video transcript",
            "type": "boolean",
            "description": "Adds the spoken text of the install video to install guide rows. Turn it off for smaller rows.",
            "default": true
          },
          "maxItems": {
            "title": "Maximum items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stops after this many rows (all record types together; parts come first, then guides, categories and brands). Free plans are limited to 10 items per run.",
            "default": 10
          },
          "onlyNew": {
            "title": "Only new items (monitor)",
            "type": "boolean",
            "description": "Skips every item seen in an earlier run with the same monitor name, so scheduled runs return only what is new and you pay only for those.",
            "default": false
          },
          "trackPriceChanges": {
            "title": "Also return price and stock changes",
            "type": "boolean",
            "description": "With only new items on, a part already seen comes back when its price or stock changed, with the previous price, the change and a price-drop, price-increase, out-of-stock or back-in-stock label.",
            "default": false
          },
          "stateKey": {
            "title": "Monitor name",
            "type": "string",
            "description": "Name of the memory used by only new items. Use one name per saved search. Empty derives a name from your filters.",
            "default": ""
          },
          "resetSeen": {
            "title": "Forget what was seen",
            "type": "boolean",
            "description": "Clears the memory of this monitor before the run, so everything counts as new again.",
            "default": false
          },
          "concurrency": {
            "title": "Parallel requests",
            "minimum": 1,
            "maximum": 4,
            "type": "integer",
            "description": "How many pages are processed at the same time. The robots.txt of 1aauto.com asks for one request per second, and the actor keeps to that pace across all requests, so a higher number only overlaps waiting time.",
            "default": 2
          },
          "maxScanSeconds": {
            "title": "Maximum scan time (seconds)",
            "minimum": 30,
            "maximum": 3300,
            "type": "integer",
            "description": "Stops reading after this time and keeps the rows found so far. The site asks for one request per second, so a part page takes about 1.1 seconds and a narrow filter over the whole catalog can take the full time.",
            "default": 900
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Optional. Empty means direct requests, which work. Add a proxy only if your own network needs one."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}