{
  "openapi": "3.0.1",
  "info": {
    "title": "Chewy Product Catalog: Prices, Autoship and Pet Food SKUs",
    "description": "Daily prices, Autoship prices, ratings and stock of Chewy dog food and treats, plus every product id from the public sitemaps, also outside these categories. No browser, no proxy.",
    "version": "0.3",
    "x-build-id": "Ri1YnHkaltMgKklfX"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/sergeyfaraday~chewy-product-catalog/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-sergeyfaraday-chewy-product-catalog",
        "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/sergeyfaraday~chewy-product-catalog/runs": {
      "post": {
        "operationId": "runs-sync-sergeyfaraday-chewy-product-catalog",
        "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/sergeyfaraday~chewy-product-catalog/run-sync": {
      "post": {
        "operationId": "run-sync-sergeyfaraday-chewy-product-catalog",
        "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": "What to collect",
            "enum": [
              "prices",
              "sitemap"
            ],
            "type": "string",
            "description": "Prices reads the catalog data of the category pages (dog food and treats). Sitemap lists product ids and names, also outside these categories. To find new products compare parentId between full prices passes: the sitemap changes between fetches, so a difference between two sitemap snapshots is not a new product.",
            "default": "prices"
          },
          "scope": {
            "title": "Scope",
            "enum": [
              "dog_food",
              "dog_food_and_treats",
              "all_dog",
              "pet_food_all_species",
              "all"
            ],
            "type": "string",
            "description": "Which products become rows. Prices mode covers the first two options. Cat products are never mixed into dog scopes.",
            "default": "dog_food_and_treats"
          },
          "includeCanada": {
            "title": "Include chewy.com/ca",
            "type": "boolean",
            "description": "Canadian store entries get ids prefixed with ca:. Off: US panel only.",
            "default": false
          },
          "maxProducts": {
            "title": "Max products",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many rows. This is a cut, not a pause: the run ends here and sources[].nextCursor in the MANIFEST says where. Empty: everything in scope."
          },
          "startFrom": {
            "title": "Start from position",
            "minimum": 0,
            "type": "integer",
            "description": "Prices mode: read the category from this listing position instead of from its start. To continue a cut run, pass sources[].nextCursor from its MANIFEST under the same snapshotId. Empty: from the start."
          },
          "startGroup": {
            "title": "Category of that position",
            "enum": [
              "first",
              "dog_food",
              "dog_treats"
            ],
            "type": "string",
            "description": "Prices mode: the category that Start from position belongs to. Categories before it are not read, categories after it start at their beginning.",
            "default": "first"
          },
          "delayMs": {
            "title": "Delay between pages (ms)",
            "minimum": 500,
            "type": "integer",
            "description": "Prices mode: pause between two catalog pages.",
            "default": 1000
          },
          "maxSitemapFiles": {
            "title": "Max sitemap files",
            "minimum": 1,
            "type": "integer",
            "description": "Read only the first N pdp sitemap files (about 35,000 entries each). Empty = all."
          },
          "sitemapIndexUrl": {
            "title": "PDP sitemap index URL",
            "type": "string",
            "description": "Override if Chewy renames the sitemap index."
          },
          "snapshotId": {
            "title": "Snapshot ID",
            "type": "string",
            "description": "Your id for this snapshot, one per task of one actor. Rows get recordKey = platform:type:id:snapshotId, so a repeat with the same snapshotId gives the same keys, and a new id gives a new observation. A repeat reads the source again: compare provenance.contentChecksum to see whether the values moved. Default: <actor>.<runId>."
          },
          "queryId": {
            "title": "Query profile ID",
            "type": "string",
            "description": "Your search profile id, copied into provenance.queryId."
          },
          "queryVersion": {
            "title": "Query profile version",
            "type": "string",
            "description": "Search profile version, copied into provenance.queryVersion."
          },
          "panelId": {
            "title": "Panel ID",
            "type": "string",
            "description": "Fixed panel id for refresh runs, copied into provenance.panelId."
          },
          "panelVersion": {
            "title": "Panel version",
            "type": "string",
            "description": "Panel composition version; a new composition must get a new version."
          },
          "maxItems": {
            "title": "Max records",
            "minimum": 1,
            "type": "integer",
            "description": "Hard cap on dataset rows for this run. Separate from the run money cap (maxTotalChargeUsd), which is set on the run itself."
          },
          "maxRunSeconds": {
            "title": "Soft time budget (s)",
            "minimum": 30,
            "type": "integer",
            "description": "Stop starting new units this many seconds after the run started and finish with a partial manifest. The budget belongs to the run: a restart does not renew it, and the time between workers counts."
          },
          "keepRaw": {
            "title": "Keep raw upstream item",
            "type": "boolean",
            "description": "Store the raw upstream item in `raw`. Off by default. provenance.rawChecksum is present on rows built from a raw item; it is null on a state row with no answer behind it and on derived rows.",
            "default": false
          },
          "failOnPartial": {
            "title": "Fail run on partial",
            "type": "boolean",
            "description": "By default a partial result finishes as SUCCEEDED with status=partial in the MANIFEST record. Failed and blocked always finish as FAILED.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Proxy for upstream requests.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}