{
  "openapi": "3.0.1",
  "info": {
    "title": "Judge Scraper | Reviews, Ratings and Store Profiles",
    "description": "Judge.me reviews scraper for Shopify stores: paste a store page, website, domain or keyword and get stars, review text, date, reviewer country, verified buyer flag, photos, the store's reply, the product and the store's trust profile. 100 reviews in 4 seconds, 61 fields each. No login needed.",
    "version": "1.0",
    "x-build-id": "D7sXiz113i0D79gVW"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/silentflow~judge-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-silentflow-judge-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/silentflow~judge-scraper/runs": {
      "post": {
        "operationId": "runs-sync-silentflow-judge-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/silentflow~judge-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-silentflow-judge-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": {
          "startUrls": {
            "title": "🔗 Judge.me or store links",
            "type": "array",
            "description": "A store page on Judge.me (<code>https://judge.me/reviews/stores/supply.co</code>), a product page on Judge.me (<code>…/stores/supply.co/products/the-single-edge-max</code>), or the store's own website: a home page reads the whole store, a <code>/products/…</code> link reads that one product. Stores that do not use Judge.me are reported and skipped.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "searchQueries": {
            "title": "🔎 Find stores by keyword",
            "type": "array",
            "description": "No store in mind yet? Type what a store sells, as you would on judge.me: <code>candles</code>, <code>coffee</code>, <code>pet supplies</code>. Each keyword reads the reviews of the matching stores in Judge.me's order, up to <b>Max reviews per store</b> each, until <b>Max reviews in total</b>. A common keyword matches hundreds of stores.",
            "items": {
              "type": "string"
            }
          },
          "shopDomains": {
            "title": "🏪 Store domains",
            "type": "array",
            "description": "Store domains, one per line: <code>supply.co</code>, <code>www.uklash.com</code>, or the <code>xxx.myshopify.com</code> domain from the <code>shopDomain</code> column of a previous run. Handy to follow the same stores every week.",
            "items": {
              "type": "string"
            }
          },
          "maxReviewsPerStore": {
            "title": "💬 Max reviews per store",
            "minimum": 0,
            "type": "integer",
            "description": "Stop each store or product after this many reviews, in the order below. <code>0</code> reads as many as Judge.me lets visitors reach: past its window of 1,000 reviews per order, the actor goes on star rating by star rating, then product by product, which takes several minutes on a store with thousands of reviews. Raise it when you follow one big store, keep it low when a keyword spreads the run over many stores.",
            "default": 100
          },
          "maxItems": {
            "title": "🔢 Max reviews in total",
            "minimum": 1,
            "type": "integer",
            "description": "The run stops after this many reviews, all stores together. One review is one row.",
            "default": 1000
          },
          "sortBy": {
            "title": "↕️ Order",
            "enum": [
              "newest",
              "oldest",
              "highest",
              "lowest",
              "helpful",
              "photos"
            ],
            "type": "string",
            "description": "Newest first follows what customers say this week. Lowest rated first collects complaints, highest rated first the praise, most helpful first the reviews other shoppers upvoted, with photos first the reviews that show the product. Oldest first works on stores with up to about 10,000 reviews; bigger stores answer newest first.",
            "default": "newest"
          },
          "ratings": {
            "title": "⭐ Star ratings",
            "type": "array",
            "description": "Keep only these star ratings, for example 1 and 2 stars to collect complaints. Empty keeps every rating.",
            "items": {
              "type": "string",
              "enum": [
                "5",
                "4",
                "3",
                "2",
                "1"
              ],
              "enumTitles": [
                "5 stars",
                "4 stars",
                "3 stars",
                "2 stars",
                "1 star"
              ]
            }
          },
          "reviewType": {
            "title": "🛍️ Product or store reviews",
            "enum": [
              "all",
              "product",
              "shop"
            ],
            "type": "string",
            "description": "Judge.me keeps two kinds of reviews: reviews of a product, and reviews of the store itself (delivery, service, packaging). All reads both. Product links always read product reviews.",
            "default": "all"
          },
          "verifiedOnly": {
            "title": "✅ Verified buyers only",
            "type": "boolean",
            "description": "Keep only reviews written by customers Judge.me confirmed as buyers.",
            "default": false
          },
          "dateFrom": {
            "title": "📅 Reviews since",
            "type": "string",
            "description": "Only keep reviews posted on or after this date: <code>2026-01-01</code>, or an age such as <code>30 days</code> for a weekly or monthly schedule. With newest first, each store stops at the first older review. Empty keeps every date."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}