{
  "openapi": "3.0.1",
  "info": {
    "title": "WooCommerce Products Scraper — Catalog and Price Evidence",
    "description": "Scrape public WooCommerce product catalogs with exact minor-unit prices, coverage evidence, additional existing Dataset append and sequential multi-store collection. Use a finite run charge limit; support for uncapped runs is being repaired.",
    "version": "0.1",
    "x-build-id": "3cNo0DjUL8kVY1OUM"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/peerless_columbine~independent-woocommerce-catalog/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-peerless_columbine-independent-woocommerce-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/peerless_columbine~independent-woocommerce-catalog/runs": {
      "post": {
        "operationId": "runs-sync-peerless_columbine-independent-woocommerce-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/peerless_columbine~independent-woocommerce-catalog/run-sync": {
      "post": {
        "operationId": "run-sync-peerless_columbine-independent-woocommerce-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": {
          "domains": {
            "title": "Store homepages",
            "type": "array",
            "description": "Public store root domains/homepages only, including bare domains, scheme, www and trailing slash. No product/category URLs. No runtime default: supply a nonempty list.",
            "items": {
              "type": "string"
            }
          },
          "maxProducts": {
            "title": "Products per store (0 = unlimited)",
            "minimum": 0,
            "type": "integer",
            "description": "Limit acknowledged unique products separately for each store. Zero sets no product/page count limit. Prefill 5 is a bounded sample, not the runtime default.",
            "default": 0
          },
          "proxyConfiguration": {
            "title": "Source proxy",
            "type": "object",
            "description": "Direct by default. Explicit Apify pool or HTTP(S) custom proxies are supported and never fall back to direct. Hosted Apify proxy needs injected credentials. Custom proxies and all target DNS stay strictly public.",
            "default": {
              "useApifyProxy": false
            }
          },
          "datasetId": {
            "title": "Existing additional Dataset ID",
            "type": "string",
            "description": "Optional existing caller-owned Apify Dataset ID. Default Dataset is retained; append a copy after the default row and its one custom fee are confirmed. No create, foreign write or permission change. Any unconfirmed append stops without replay."
          },
          "runId": {
            "title": "Associated previous run ID",
            "type": "string",
            "description": "Optional previous run identifier recorded as associatedRunId in rows and reports for chaining. Does not fetch or inherit that run input or Dataset."
          },
          "search": {
            "title": "Optional source search",
            "type": "string",
            "description": "Extra control: pass an explicit search term to the public Store API. Empty means no search filter. The bounded example uses WordPress.",
            "default": ""
          },
          "pageSize": {
            "title": "Source page size",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Extra control; primary mode requests 100 products/page. The saved real replay/example uses 5.",
            "default": 100
          },
          "requestDelayMillis": {
            "title": "Source request delay",
            "minimum": 0,
            "maximum": 60000,
            "type": "integer",
            "description": "Minimum interval between source attempts on an origin, increased by robots Crawl-delay. No source retries.",
            "default": 500
          },
          "requestTimeoutSecs": {
            "title": "Per source attempt deadline",
            "minimum": 1,
            "maximum": 300,
            "type": "integer",
            "description": "Includes robots, DNS and redirects for a single fetch. Storage/fee operations have separate 15-second acknowledgement deadlines.",
            "default": 30
          },
          "runTimeoutSecs": {
            "title": "Source work deadline",
            "minimum": 5,
            "maximum": 86400,
            "type": "integer",
            "description": "Source work time limit; exhaustion reports partial and retains confirmed products. Platform hard kill can interrupt final reports or leave unknown writes.",
            "default": 900
          },
          "maxRequests": {
            "title": "Source transport cap (0 = unlimited)",
            "minimum": 0,
            "type": "integer",
            "description": "Includes robots, redirects, diagnostics and fake-IP-only DoH. Count zero imposes no transport count cap.",
            "default": 0
          },
          "maxResponseBytes": {
            "title": "Per-response raw/decoded byte limit",
            "minimum": 1024,
            "maximum": 52428800,
            "type": "integer",
            "description": "Streaming bound on both compressed and decoded response. Oversize stops the affected store without truncation-success. Use maxRecordBytes to separately bound product/report plain JSON delivery bytes.",
            "default": 8388608
          },
          "maxRecordBytes": {
            "title": "Per product/report JSON byte limit",
            "minimum": 1024,
            "maximum": 8388608,
            "type": "integer",
            "description": "Optional storage control, measured on plain UTF-8 JSON before a write or product fee. Default 8 MiB preserves the original limit. Oversize products are skipped and coverage is partial; no field is truncated. Oversize evidence or reports fail the run.",
            "default": 8388608
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}