Shopify TrustWILL (Trustoo) Reviews Scraper API
Pricing
from $1.50 / 1,000 reviews
Shopify TrustWILL (Trustoo) Reviews Scraper API
Scrape TrustWILL and Trustoo reviews from Shopify store or product URLs, with ratings, media, and filters.
Shopify TrustWILL (Trustoo) Reviews Scraper API
Pricing
from $1.50 / 1,000 reviews
Scrape TrustWILL and Trustoo reviews from Shopify store or product URLs, with ratings, media, and filters.
You can access the Shopify TrustWILL (Trustoo) Reviews Scraper API programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in Integrations settings in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "0.0", "x-build-id": "RQSlg3n7ESafxpqH7" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/lurkapi~shopify-trustwill-reviews-scraper-api/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-lurkapi-shopify-trustwill-reviews-scraper-api", "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/lurkapi~shopify-trustwill-reviews-scraper-api/runs": { "post": { "operationId": "runs-sync-lurkapi-shopify-trustwill-reviews-scraper-api", "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/lurkapi~shopify-trustwill-reviews-scraper-api/run-sync": { "post": { "operationId": "run-sync-lurkapi-shopify-trustwill-reviews-scraper-api", "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", "required": [ "startUrls" ], "properties": { "startUrls": { "title": "Store or product URLs", "maxItems": 1000, "type": "array", "description": "Paste a Shopify store URL to get its public TrustWILL reviews, or paste a product URL to get reviews attributed to that exact product. Both types can be mixed in the same run.", "items": { "type": "string", "maxLength": 2048 } }, "maxResultsPerUrl": { "title": "Maximum results per URL", "minimum": 1, "maximum": 50000, "type": "integer", "description": "Cap on review rows returned for each store or product URL.", "default": 50 }, "filterRatings": { "title": "Star ratings", "uniqueItems": true, "type": "array", "description": "Only keep reviews with the star ratings you pick. Leave empty to include every rating. Free with the base row price.", "items": { "type": "string", "enum": [ "1", "2", "3", "4", "5" ], "enumTitles": [ "1 star", "2 stars", "3 stars", "4 stars", "5 stars" ] } }, "sortBy": { "title": "Sort reviews by", "enum": [ "featured", "newest", "highest_rating", "lowest_rating", "oldest", "pictures_first", "videos_first" ], "type": "string", "description": "TrustWILL's built-in orders (featured, newest, highest rating, lowest rating) are free. Oldest, pictures first, and videos first are custom sorts computed by the actor and count as add-ons.", "default": "featured" }, "filterKeyword": { "title": "Search review text ($)", "maxLength": 500, "type": "string", "description": "Only keep reviews whose title or body contains this phrase. Charged only on matching rows that are delivered." }, "verifiedOnly": { "title": "Only verified buyers ($)", "type": "boolean", "description": "Only keep reviews TrustWILL marks as verified purchases.", "default": false }, "onlyWithMedia": { "title": "Only reviews with media ($)", "type": "boolean", "description": "Only keep reviews that include at least one photo or video.", "default": false }, "onlyWithPhotos": { "title": "Only reviews with photos ($)", "type": "boolean", "description": "Only keep reviews that include at least one customer photo.", "default": false }, "onlyWithVideos": { "title": "Only reviews with videos ($)", "type": "boolean", "description": "Only keep reviews that include a customer video.", "default": false }, "merchantReplyOnly": { "title": "Only reviews with store replies ($)", "type": "boolean", "description": "Only keep reviews where the store owner replied publicly.", "default": false }, "filterStartDate": { "title": "Published on or after ($)", "type": "string", "description": "Only keep reviews posted on or after this date (YYYY-MM-DD, inclusive). Reviews without a public date are excluded. Some TrustWILL stores hide dates in their public widget." }, "filterEndDate": { "title": "Published on or before ($)", "type": "string", "description": "Only keep reviews posted on or before this date (YYYY-MM-DD, inclusive). Reviews without a public date are excluded." }, "reviewContent": { "title": "Written vs. rating-only ($)", "enum": [ "all", "with_text", "rating_only" ], "type": "string", "description": "Keep every review, only reviews that have written text, or only star-ratings without text.", "default": "all" }, "filterLanguages": { "title": "Review languages ($)", "maxItems": 50, "type": "array", "description": "Only keep reviews in these languages. Use ISO codes such as en, eng, es, spa, or pt-BR. Region tags (pt-BR, en-US) match the base language too.", "items": { "type": "string", "maxLength": 16 } }, "detectLanguage": { "title": "Detect review language ($)", "type": "boolean", "description": "When TrustWILL does not return a language for a review, the actor detects one and adds a detectedLanguage field. Charged only when detection succeeds.", "default": false }, "translateReviews": { "title": "Translate reviews ($)", "type": "boolean", "description": "Translate each delivered review into the selected language. You are charged only when a translation succeeds.", "default": false }, "translationTarget": { "title": "Translate into", "pattern": "^[A-Za-z]{2}(?:-[A-Za-z]{2})?$", "maxLength": 16, "type": "string", "description": "Target language for translations. Use a two-letter code such as en, es, fr, de, ja, or pt-BR.", "default": "en" }, "downloadMedia": { "title": "Archive review media ($)", "type": "boolean", "description": "Save up to 10 verified photos or videos per review (max 3 MB each) to the run's key-value store. Original source URLs stay in the row, and any failed archive is listed with a stable error code. Charged per file successfully stored.", "default": false }, "outputStoreDomain": { "title": "Store domain", "type": "boolean", "description": "Normalized store host, for example your-store.com.", "default": true }, "outputStoreUrl": { "title": "Store URL", "type": "boolean", "description": "Full canonical URL of the store's home page.", "default": true }, "outputProductHandle": { "title": "Product handle", "type": "boolean", "description": "The URL slug Shopify uses in product paths.", "default": true }, "outputProductTitle": { "title": "Product title", "type": "boolean", "description": "Public product name.", "default": true }, "outputProductUrl": { "title": "Product URL", "type": "boolean", "description": "Canonical link to the product page.", "default": true }, "outputProductImageUrl": { "title": "Product image", "type": "boolean", "description": "URL of the primary product image.", "default": true }, "outputProductDescription": { "title": "Product description", "type": "boolean", "description": "Plain-text public product description, when product attribution is available.", "default": true }, "outputPrice": { "title": "Product price", "type": "boolean", "description": "Public price shown on the storefront.", "default": true }, "outputCurrency": { "title": "Currency", "type": "boolean", "description": "Storefront currency code, when it can be detected.", "default": true }, "outputAvailable": { "title": "Availability", "type": "boolean", "description": "Whether the product is publicly for sale.", "default": true }, "outputAverageRating": { "title": "Average rating", "type": "boolean", "description": "TrustWILL's product-level average rating.", "default": true }, "outputReviewCount": { "title": "Review count", "type": "boolean", "description": "Total number of TrustWILL reviews on the product.", "default": true }, "outputRatingHistogram": { "title": "Rating histogram", "type": "boolean", "description": "Review counts broken down by star rating, when the widget exposes them.", "default": true }, "outputReviewTitle": { "title": "Review title", "type": "boolean", "description": "Public title the reviewer gave their review, when available.", "default": true }, "outputReviewerName": { "title": "Reviewer name", "type": "boolean", "description": "Public reviewer display name TrustWILL shows (usually first name and last initial).", "default": true }, "outputPublishedAt": { "title": "Review date", "type": "boolean", "description": "Timestamp when the review was posted, when the widget exposes it.", "default": true }, "outputVerifiedBuyer": { "title": "Verified buyer flag", "type": "boolean", "description": "TrustWILL's verified-purchase flag on each review.", "default": true }, "outputReply": { "title": "Merchant reply", "type": "boolean", "description": "Public reply the merchant posted to the review.", "default": true }, "outputMediaUrls": { "title": "Media URLs", "type": "boolean", "description": "Source URLs for customer photos and videos on each review.", "default": true }, "outputOriginalLanguage": { "title": "Original language", "type": "boolean", "description": "Language code TrustWILL reports for the review.", "default": true }, "outputInputUrl": { "title": "Input URL", "type": "boolean", "description": "The URL from your input that produced this row. Useful for grouping results.", "default": true }, "outputTrustooDetails": { "title": "TrustWILL detail fields", "type": "boolean", "description": "Reviewer country, helpful votes, shop verification flag and method, product attribute ratings, and Instagram media reference.", "default": true } } }, "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 } } }, "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 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Shopify TrustWILL (Trustoo) Reviews Scraper API from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: