{
  "data": {
    "id": "L8lYHM93hR3Ho7hzw",
    "actId": "9pVZkNkgMEmGyoZYW",
    "userId": "IYgBDiXtHOijAaUel",
    "startedAt": "2026-11-11T23:22:12.460Z",
    "finishedAt": "2026-11-11T23:22:48.553Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CI"
    },
    "stats": {
      "durationMillis": 36018,
      "runTimeSecs": 36.018,
      "computeUnits": 0.04002,
      "imageSizeBytes": 3146230784
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "QYo53EZkJk0prePWY",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"Trustpilot Reviews Scraper Input\",\n  \"description\": \"Scrape Trustpilot business reviews, ratings, and replies across any business domain.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"businessDomains\": {\n      \"title\": \"Business domains\",\n      \"type\": \"array\",\n      \"description\": \"List of business domains as they appear on Trustpilot URLs (e.g. `amazon.com`, `airbnb.com`, `apple.com`). The domain is the part after `/review/` in the Trustpilot URL.\",\n      \"editor\": \"stringList\",\n      \"default\": [\n        \"amazon.com\"\n      ],\n      \"prefill\": [\n        \"amazon.com\"\n      ]\n    },\n    \"mode\": {\n      \"title\": \"Mode\",\n      \"type\": \"string\",\n      \"description\": \"What to emit. `reviews` returns one record per review (default). `summary` returns one record per business with TrustScore, total reviews, and rating distribution.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"reviews\",\n        \"summary\"\n      ],\n      \"enumTitles\": [\n        \"Per-review records (default)\",\n        \"Per-business summary records\"\n      ],\n      \"default\": \"reviews\",\n      \"prefill\": \"reviews\"\n    },\n    \"maxReviewsPerBusiness\": {\n      \"title\": \"Max reviews per business\",\n      \"type\": \"integer\",\n      \"description\": \"Hard cap on reviews fetched per business domain (mode=reviews). Trustpilot shows 20 reviews per page; this paginates.\",\n      \"minimum\": 1,\n      \"maximum\": 1000,\n      \"default\": 100,\n      \"prefill\": 100\n    },\n    \"language\": {\n      \"title\": \"Language filter\",\n      \"type\": \"string\",\n      \"description\": \"Limit reviews to a specific language code (e.g. `en` for English, `de` for German). Leave empty for all languages.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"\",\n        \"en\",\n        \"de\",\n        \"fr\",\n        \"es\",\n        \"it\",\n        \"nl\",\n        \"da\",\n        \"no\",\n        \"sv\",\n        \"fi\",\n        \"pt\",\n        \"pl\"\n      ],\n      \"enumTitles\": [\n        \"All languages\",\n        \"English (en)\",\n        \"German (de)\",\n        \"French (fr)\",\n        \"Spanish (es)\",\n        \"Italian (it)\",\n        \"Dutch (nl)\",\n        \"Danish (da)\",\n        \"Norwegian (no)\",\n        \"Swedish (sv)\",\n        \"Finnish (fi)\",\n        \"Portuguese (pt)\",\n        \"Polish (pl)\"\n      ],\n      \"default\": \"\"\n    },\n    \"minRating\": {\n      \"title\": \"Min rating (1-5)\",\n      \"type\": \"integer\",\n      \"description\": \"Drop reviews with a rating below this value.\",\n      \"minimum\": 1,\n      \"maximum\": 5\n    },\n    \"maxRating\": {\n      \"title\": \"Max rating (1-5)\",\n      \"type\": \"integer\",\n      \"description\": \"Drop reviews with a rating above this value.\",\n      \"minimum\": 1,\n      \"maximum\": 5\n    },\n    \"verifiedOnly\": {\n      \"title\": \"Verified only\",\n      \"type\": \"boolean\",\n      \"description\": \"Only emit reviews flagged as verified.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"dateRangeFrom\": {\n      \"title\": \"Date range from (YYYY-MM-DD)\",\n      \"type\": \"string\",\n      \"description\": \"Drop reviews older than this date.\",\n      \"editor\": \"textfield\"\n    },\n    \"dateRangeTo\": {\n      \"title\": \"Date range to (YYYY-MM-DD)\",\n      \"type\": \"string\",\n      \"description\": \"Drop reviews newer than this date.\",\n      \"editor\": \"textfield\"\n    },\n    \"containsKeyword\": {\n      \"title\": \"Contains keyword\",\n      \"type\": \"string\",\n      \"description\": \"Only emit reviews whose title or body contains this substring (case-insensitive).\",\n      \"editor\": \"textfield\"\n    },\n    \"responseRequired\": {\n      \"title\": \"Has business reply\",\n      \"type\": \"boolean\",\n      \"description\": \"Only emit reviews that received a reply from the business.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"maxItems\": {\n      \"title\": \"Global max items\",\n      \"type\": \"integer\",\n      \"description\": \"Hard cap on total emitted records across all businesses.\",\n      \"minimum\": 1,\n      \"maximum\": 50000,\n      \"default\": 500,\n      \"prefill\": 500\n    },\n    \"proxyConfiguration\": {\n      \"title\": \"Proxy configuration\",\n      \"type\": \"object\",\n      \"description\": \"Apify proxy. Residential proxy is REQUIRED for Trustpilot — datacenter IPs are blocked by AWS WAF.\",\n      \"editor\": \"proxy\",\n      \"prefill\": {\n        \"useApifyProxy\": true,\n        \"apifyProxyGroups\": [\n          \"RESIDENTIAL\"\n        ]\n      },\n      \"default\": {\n        \"useApifyProxy\": true,\n        \"apifyProxyGroups\": [\n          \"RESIDENTIAL\"\n        ]\n      }\n    }\n  },\n  \"required\": [\n    \"businessDomains\",\n    \"mode\",\n    \"proxyConfiguration\"\n  ]\n}",
    "readme": "# Trustpilot Review & Business Rating Scraper\n\nTrustpilot hosts consumer reviews for millions of businesses, each with its own TrustScore and rating distribution. This actor reads any number of business review pages in one run and returns either every individual review or a per-business rating summary, with rating, language, date, verification and reply filters applied before you see the data.\n\n## What this actor does\n\n- Returns per-review records for any number of business domains in a single run\n- Or returns per-business summary records (TrustScore, total reviews, rating distribution, categories, claimed status)\n- Filters: `minRating` / `maxRating`, `verifiedOnly`, `responseRequired`, `language`, `dateRangeFrom` / `dateRangeTo`, `containsKeyword`\n- Collects up to 1,000 reviews per business\n- Requires a residential proxy, since Trustpilot blocks datacenter IPs behind a JS challenge — see the FAQ\n- No empty or null fields ever appear in records — only data that was actually found\n\n## Output: per-review (mode = `reviews`)\n\n- `businessDomain`, `businessName`\n- `reviewId`, `reviewUrl`\n- `rating` (1-5), `title`, `body`\n- `reviewerName`, `reviewerCountry`, `reviewerId`, `reviewerReviewCount`\n- `reviewedAt` (publish date), `experiencedAt` (when the customer used the service)\n- `verified` (bool), `language`\n- `helpfulCount`\n- `businessReply` — `{text, repliedAt}` when present\n- `recordType: \"review\"`, `scrapedAt`\n\n## Output: per-business (mode = `summary`)\n\n- `businessDomain`, `businessName`, `identifyingName`, `businessUnitId`\n- `websiteUrl`, `trustpilotUrl`\n- `trustScore` (1.0–5.0), `stars` (rounded), `totalReviews`\n- `ratingDistribution` — `{\"1\": n, \"2\": n, \"3\": n, \"4\": n, \"5\": n}`\n- `categories[]`\n- `verified` (bool), `claimedAt`\n- `address` — `{city, country, ...}` when available\n- `recordType: \"businessSummary\"`, `scrapedAt`\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `businessDomains` | array | `[\"amazon.com\"]` | List of business domains (e.g. `amazon.com`, `airbnb.com`). Trustpilot URLs are accepted too. |\n| `mode` | string | `reviews` | `reviews` (per-review records) / `summary` (one record per business) |\n| `maxReviewsPerBusiness` | int | `100` | Hard cap per business in `reviews` mode (1–1000) |\n| `language` | string | `\"\"` | Filter to a single language (`en`, `de`, `fr`, …) |\n| `minRating` / `maxRating` | int | – | 1–5 bounds for the `rating` field |\n| `verifiedOnly` | bool | `false` | Only emit reviews flagged as verified |\n| `responseRequired` | bool | `false` | Only emit reviews that received a business reply |\n| `dateRangeFrom` / `dateRangeTo` | string | – | ISO date filters on `reviewedAt` |\n| `containsKeyword` | string | – | Case-insensitive substring match on title/body |\n| `maxItems` | int | `500` | Global hard cap across all businesses (1–50000) |\n| `proxyConfiguration` | object | RESIDENTIAL | Apify residential proxy — required (datacenter IPs are blocked) |\n\n### Example: latest 1-star reviews of Amazon with replies\n\n```json\n{\n  \"businessDomains\": [\"amazon.com\"],\n  \"mode\": \"reviews\",\n  \"maxReviewsPerBusiness\": 100,\n  \"minRating\": 1,\n  \"maxRating\": 1,\n  \"responseRequired\": true,\n  \"language\": \"en\"\n}\n```\n\n### Example: bulk summary of competitors\n\n```json\n{\n  \"businessDomains\": [\"airbnb.com\", \"vrbo.com\", \"booking.com\"],\n  \"mode\": \"summary\"\n}\n```\n\n### Example: keyword monitor for a brand\n\n```json\n{\n  \"businessDomains\": [\"mybrand.com\"],\n  \"mode\": \"reviews\",\n  \"containsKeyword\": \"shipping\",\n  \"dateRangeFrom\": \"2025-01-01\"\n}\n```\n\n### Example: 5-star reviews mentioning \"support\" — German market\n\n```json\n{\n  \"businessDomains\": [\"yourcompany.de\"],\n  \"mode\": \"reviews\",\n  \"minRating\": 5,\n  \"language\": \"de\",\n  \"containsKeyword\": \"support\"\n}\n```\n\n## Use cases\n\n- **Reputation management** — daily monitor of new reviews and replies for tracked brands\n- **Competitor research** — bulk-summarize TrustScores + rating distributions across competitors\n- **Brand sentiment tracking** — keyword filter (e.g. `delivery`, `cancel`) for high-volume brands\n- **Compliance / consumer protection** — pull every 1-star review citing specific issues\n- **Customer-success ROI** — count replies-to-reviews ratio per business\n- **Localization research** — filter by `language` to compare sentiment across markets\n- **Investor due diligence** — track multi-month rating-distribution trends for a private brand\n- **Journalism** — bulk-export negative reviews for an investigative piece\n\n## FAQ\n\n**Why is residential proxy required?**  Trustpilot's pages are protected by AWS WAF, which blocks datacenter IPs with a JS-challenge interstitial. Residential IPs pass the challenge transparently. The actor fails fast if no residential proxy is configured.\n\n**Does it require login or cookies?**  No. All Trustpilot business pages are public.\n\n**What's the difference between `reviewedAt` and `experiencedAt`?**  `reviewedAt` is when the consumer published the review on Trustpilot. `experiencedAt` is the service date the consumer reported (when they actually used the service). Both are extracted when present.\n\n**Are reviewer profiles included?**  Yes — `reviewerName`, `reviewerCountry`, and `reviewerId` (when public). Some reviewers post anonymously and only the display name is available.\n\n**Can I scrape replies-only?**  Yes — set `responseRequired: true`. Note: many high-volume retailers (Amazon, Walmart, etc.) don't reply to most recent reviews on Trustpilot, so this filter may return 0 results for big brands; smaller businesses with active customer-care typically yield more matches.\n\n**What's the throughput?**  Trustpilot loads 20 reviews per page. Expect roughly 1,000 reviews per business within about a minute, including initial proxy session setup.\n\n**Are old reviews available?**  Yes — Trustpilot keeps reviews dating back years. `dateRangeFrom` lets you filter the window. Heads-up: Trustpilot returns reviews newest-first and caps deep pagination at ~10-12 pages (~200-240 reviews) from many IPs, so a tight `dateRangeFrom`/`dateRangeTo` window targeting reviews older than the actor can reach may return 0 records on high-volume businesses. For the broadest result set, use `dateRangeFrom` alone (no upper bound) or run on a smaller, lower-traffic business.\n\n**What's a \"verified\" review?**  Trustpilot flags a review as verified if it can confirm the reviewer used the service (e.g. via the company's review-invitation flow).\n\n**Can I scrape Trustpilot consumer profiles?**  Not in v1 — only business pages are supported.\n\n**Why don't I see a `helpfulCount` on every review?**  Trustpilot only surfaces helpful counts on reviews with at least one upvote. Reviews with zero helpful votes have `helpfulCount: 0` (kept) or omit the field if Trustpilot doesn't expose it.\n\n**Is this affiliated with Trustpilot?**  No, this actor is third-party and uses publicly accessible business pages.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "trustpilot-review-and-business-rating-scraper",
      "title": "Trustpilot Review & Business Rating Scraper",
      "description": "Pull Trustpilot reviews or per-business rating summaries for any number of domains in one run, filtered by rating, language, date range, keyword, verified status or whether the business replied.",
      "version": "1.0",
      "buildTag": "latest",
      "dockerfile": "./Dockerfile",
      "readme": "# Trustpilot Review & Business Rating Scraper\n\nTrustpilot hosts consumer reviews for millions of businesses, each with its own TrustScore and rating distribution. This actor reads any number of business review pages in one run and returns either every individual review or a per-business rating summary, with rating, language, date, verification and reply filters applied before you see the data.\n\n## What this actor does\n\n- Returns per-review records for any number of business domains in a single run\n- Or returns per-business summary records (TrustScore, total reviews, rating distribution, categories, claimed status)\n- Filters: `minRating` / `maxRating`, `verifiedOnly`, `responseRequired`, `language`, `dateRangeFrom` / `dateRangeTo`, `containsKeyword`\n- Collects up to 1,000 reviews per business\n- Requires a residential proxy, since Trustpilot blocks datacenter IPs behind a JS challenge — see the FAQ\n- No empty or null fields ever appear in records — only data that was actually found\n\n## Output: per-review (mode = `reviews`)\n\n- `businessDomain`, `businessName`\n- `reviewId`, `reviewUrl`\n- `rating` (1-5), `title`, `body`\n- `reviewerName`, `reviewerCountry`, `reviewerId`, `reviewerReviewCount`\n- `reviewedAt` (publish date), `experiencedAt` (when the customer used the service)\n- `verified` (bool), `language`\n- `helpfulCount`\n- `businessReply` — `{text, repliedAt}` when present\n- `recordType: \"review\"`, `scrapedAt`\n\n## Output: per-business (mode = `summary`)\n\n- `businessDomain`, `businessName`, `identifyingName`, `businessUnitId`\n- `websiteUrl`, `trustpilotUrl`\n- `trustScore` (1.0–5.0), `stars` (rounded), `totalReviews`\n- `ratingDistribution` — `{\"1\": n, \"2\": n, \"3\": n, \"4\": n, \"5\": n}`\n- `categories[]`\n- `verified` (bool), `claimedAt`\n- `address` — `{city, country, ...}` when available\n- `recordType: \"businessSummary\"`, `scrapedAt`\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `businessDomains` | array | `[\"amazon.com\"]` | List of business domains (e.g. `amazon.com`, `airbnb.com`). Trustpilot URLs are accepted too. |\n| `mode` | string | `reviews` | `reviews` (per-review records) / `summary` (one record per business) |\n| `maxReviewsPerBusiness` | int | `100` | Hard cap per business in `reviews` mode (1–1000) |\n| `language` | string | `\"\"` | Filter to a single language (`en`, `de`, `fr`, …) |\n| `minRating` / `maxRating` | int | – | 1–5 bounds for the `rating` field |\n| `verifiedOnly` | bool | `false` | Only emit reviews flagged as verified |\n| `responseRequired` | bool | `false` | Only emit reviews that received a business reply |\n| `dateRangeFrom` / `dateRangeTo` | string | – | ISO date filters on `reviewedAt` |\n| `containsKeyword` | string | – | Case-insensitive substring match on title/body |\n| `maxItems` | int | `500` | Global hard cap across all businesses (1–50000) |\n| `proxyConfiguration` | object | RESIDENTIAL | Apify residential proxy — required (datacenter IPs are blocked) |\n\n### Example: latest 1-star reviews of Amazon with replies\n\n```json\n{\n  \"businessDomains\": [\"amazon.com\"],\n  \"mode\": \"reviews\",\n  \"maxReviewsPerBusiness\": 100,\n  \"minRating\": 1,\n  \"maxRating\": 1,\n  \"responseRequired\": true,\n  \"language\": \"en\"\n}\n```\n\n### Example: bulk summary of competitors\n\n```json\n{\n  \"businessDomains\": [\"airbnb.com\", \"vrbo.com\", \"booking.com\"],\n  \"mode\": \"summary\"\n}\n```\n\n### Example: keyword monitor for a brand\n\n```json\n{\n  \"businessDomains\": [\"mybrand.com\"],\n  \"mode\": \"reviews\",\n  \"containsKeyword\": \"shipping\",\n  \"dateRangeFrom\": \"2025-01-01\"\n}\n```\n\n### Example: 5-star reviews mentioning \"support\" — German market\n\n```json\n{\n  \"businessDomains\": [\"yourcompany.de\"],\n  \"mode\": \"reviews\",\n  \"minRating\": 5,\n  \"language\": \"de\",\n  \"containsKeyword\": \"support\"\n}\n```\n\n## Use cases\n\n- **Reputation management** — daily monitor of new reviews and replies for tracked brands\n- **Competitor research** — bulk-summarize TrustScores + rating distributions across competitors\n- **Brand sentiment tracking** — keyword filter (e.g. `delivery`, `cancel`) for high-volume brands\n- **Compliance / consumer protection** — pull every 1-star review citing specific issues\n- **Customer-success ROI** — count replies-to-reviews ratio per business\n- **Localization research** — filter by `language` to compare sentiment across markets\n- **Investor due diligence** — track multi-month rating-distribution trends for a private brand\n- **Journalism** — bulk-export negative reviews for an investigative piece\n\n## FAQ\n\n**Why is residential proxy required?**  Trustpilot's pages are protected by AWS WAF, which blocks datacenter IPs with a JS-challenge interstitial. Residential IPs pass the challenge transparently. The actor fails fast if no residential proxy is configured.\n\n**Does it require login or cookies?**  No. All Trustpilot business pages are public.\n\n**What's the difference between `reviewedAt` and `experiencedAt`?**  `reviewedAt` is when the consumer published the review on Trustpilot. `experiencedAt` is the service date the consumer reported (when they actually used the service). Both are extracted when present.\n\n**Are reviewer profiles included?**  Yes — `reviewerName`, `reviewerCountry`, and `reviewerId` (when public). Some reviewers post anonymously and only the display name is available.\n\n**Can I scrape replies-only?**  Yes — set `responseRequired: true`. Note: many high-volume retailers (Amazon, Walmart, etc.) don't reply to most recent reviews on Trustpilot, so this filter may return 0 results for big brands; smaller businesses with active customer-care typically yield more matches.\n\n**What's the throughput?**  Trustpilot loads 20 reviews per page. Expect roughly 1,000 reviews per business within about a minute, including initial proxy session setup.\n\n**Are old reviews available?**  Yes — Trustpilot keeps reviews dating back years. `dateRangeFrom` lets you filter the window. Heads-up: Trustpilot returns reviews newest-first and caps deep pagination at ~10-12 pages (~200-240 reviews) from many IPs, so a tight `dateRangeFrom`/`dateRangeTo` window targeting reviews older than the actor can reach may return 0 records on high-volume businesses. For the broadest result set, use `dateRangeFrom` alone (no upper bound) or run on a smaller, lower-traffic business.\n\n**What's a \"verified\" review?**  Trustpilot flags a review as verified if it can confirm the reviewer used the service (e.g. via the company's review-invitation flow).\n\n**Can I scrape Trustpilot consumer profiles?**  Not in v1 — only business pages are supported.\n\n**Why don't I see a `helpfulCount` on every review?**  Trustpilot only surfaces helpful counts on reviews with at least one upvote. Reviews with zero helpful votes have `helpfulCount: 0` (kept) or omit the field if Trustpilot doesn't expose it.\n\n**Is this affiliated with Trustpilot?**  No, this actor is third-party and uses publicly accessible business pages.\n",
      "input": {
        "title": "Trustpilot Reviews Scraper Input",
        "description": "Scrape Trustpilot business reviews, ratings, and replies across any business domain.",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "businessDomains": {
            "title": "Business domains",
            "type": "array",
            "description": "List of business domains as they appear on Trustpilot URLs (e.g. `amazon.com`, `airbnb.com`, `apple.com`). The domain is the part after `/review/` in the Trustpilot URL.",
            "editor": "stringList",
            "default": [
              "amazon.com"
            ],
            "prefill": [
              "amazon.com"
            ]
          },
          "mode": {
            "title": "Mode",
            "type": "string",
            "description": "What to emit. `reviews` returns one record per review (default). `summary` returns one record per business with TrustScore, total reviews, and rating distribution.",
            "editor": "select",
            "enum": [
              "reviews",
              "summary"
            ],
            "enumTitles": [
              "Per-review records (default)",
              "Per-business summary records"
            ],
            "default": "reviews",
            "prefill": "reviews"
          },
          "maxReviewsPerBusiness": {
            "title": "Max reviews per business",
            "type": "integer",
            "description": "Hard cap on reviews fetched per business domain (mode=reviews). Trustpilot shows 20 reviews per page; this paginates.",
            "minimum": 1,
            "maximum": 1000,
            "default": 100,
            "prefill": 100
          },
          "language": {
            "title": "Language filter",
            "type": "string",
            "description": "Limit reviews to a specific language code (e.g. `en` for English, `de` for German). Leave empty for all languages.",
            "editor": "select",
            "enum": [
              "",
              "en",
              "de",
              "fr",
              "es",
              "it",
              "nl",
              "da",
              "no",
              "sv",
              "fi",
              "pt",
              "pl"
            ],
            "enumTitles": [
              "All languages",
              "English (en)",
              "German (de)",
              "French (fr)",
              "Spanish (es)",
              "Italian (it)",
              "Dutch (nl)",
              "Danish (da)",
              "Norwegian (no)",
              "Swedish (sv)",
              "Finnish (fi)",
              "Portuguese (pt)",
              "Polish (pl)"
            ],
            "default": ""
          },
          "minRating": {
            "title": "Min rating (1-5)",
            "type": "integer",
            "description": "Drop reviews with a rating below this value.",
            "minimum": 1,
            "maximum": 5
          },
          "maxRating": {
            "title": "Max rating (1-5)",
            "type": "integer",
            "description": "Drop reviews with a rating above this value.",
            "minimum": 1,
            "maximum": 5
          },
          "verifiedOnly": {
            "title": "Verified only",
            "type": "boolean",
            "description": "Only emit reviews flagged as verified.",
            "default": false,
            "prefill": false
          },
          "dateRangeFrom": {
            "title": "Date range from (YYYY-MM-DD)",
            "type": "string",
            "description": "Drop reviews older than this date.",
            "editor": "textfield"
          },
          "dateRangeTo": {
            "title": "Date range to (YYYY-MM-DD)",
            "type": "string",
            "description": "Drop reviews newer than this date.",
            "editor": "textfield"
          },
          "containsKeyword": {
            "title": "Contains keyword",
            "type": "string",
            "description": "Only emit reviews whose title or body contains this substring (case-insensitive).",
            "editor": "textfield"
          },
          "responseRequired": {
            "title": "Has business reply",
            "type": "boolean",
            "description": "Only emit reviews that received a reply from the business.",
            "default": false,
            "prefill": false
          },
          "maxItems": {
            "title": "Global max items",
            "type": "integer",
            "description": "Hard cap on total emitted records across all businesses.",
            "minimum": 1,
            "maximum": 50000,
            "default": 500,
            "prefill": 500
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify proxy. Residential proxy is REQUIRED for Trustpilot — datacenter IPs are blocked by AWS WAF.",
            "editor": "proxy",
            "prefill": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            },
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        },
        "required": [
          "businessDomains",
          "mode",
          "proxyConfiguration"
        ]
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Trustpilot Review & Business Rating Scraper Output",
        "description": "Trustpilot business reviews — rating, title, body, reviewer name/country, replies, verification status, plus per-business rating distributions and aggregate stats.",
        "properties": {
          "reviews": {
            "type": "string",
            "title": "Trustpilot reviews",
            "description": "Dataset containing all scraped Trustpilot reviews and (when mode=summary) business summaries.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "minMemoryMbytes": 4096,
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "views": {
            "overview": {
              "title": "Trustpilot reviews",
              "transformation": {
                "fields": [
                  "businessDomain",
                  "rating",
                  "title",
                  "body",
                  "reviewerName",
                  "reviewerCountry",
                  "reviewedAt",
                  "verified",
                  "reviewUrl"
                ]
              },
              "display": {
                "component": "table",
                "properties": {}
              }
            }
          }
        }
      },
      "environmentVariables": {}
    },
    "buildNumber": "1.0.1",
    "imageDigest": "5745a7ce1190ed96739184f26cfc9f4edf1abc09280d79f9bc3447395d4dce86",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.0"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.04002
    }
  }
}