Allegro Reviews Scraper avatar

Allegro Reviews Scraper

Pricing

Pay per event

Go to Apify Store
Allegro Reviews Scraper

Allegro Reviews Scraper

Extract public Allegro buyer opinions with ratings, text, pros and cons, images, helpfulness, dates, translations, seller, and product context.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Categories

Share

Extract public Allegro reviews as structured records for product reputation monitoring, quality research, and recurring marketplace analysis.

The Actor reads Allegro's public product-opinion data and returns one dataset item per buyer opinion. Each item can include the rating, original text, pros and cons, buyer images, date, helpfulness, language, translation, seller, product identifier, and variant details.

It uses a lightweight public JSON route. No Allegro login, API key, browser, or proxy is required.

What does Allegro Reviews Scraper do?

Allegro Reviews Scraper turns public buyer opinions into analysis-ready JSON, CSV, or Excel data.

Use it to:

  • collect individual opinions instead of only aggregate review counts;
  • compare recurring snapshots of product feedback;
  • find frequently mentioned strengths and defects;
  • filter a product's opinions by rating;
  • isolate reviews with buyer-uploaded images;
  • retain original Polish text and Allegro-provided translations;
  • send review records to a warehouse, spreadsheet, or AI workflow.

The Actor accepts canonical Allegro product URLs that contain a product UUID. It also accepts UUIDs directly for scheduled and bulk workflows.

Who is this Actor for?

Brand and marketplace teams can monitor feedback about products they sell or compete with.

Product researchers can group pros, cons, ratings, and review text to identify recurring quality signals.

Customer-experience teams can track low-rating opinions and useful-vote counts.

Data engineers can schedule stable product UUIDs and load normalized records into a warehouse.

AI and automation builders can provide fresh public opinions to sentiment, summarization, and classification workflows.

Choose Allegro.pl Product Scraper when you need product listing cards, prices, sellers, or aggregate rating counts rather than individual buyer opinions.

What Allegro review data can you extract?

FieldMeaning
reviewIdStable Allegro opinion identifier
productIdProduct UUID used for the request
productUrlCanonical input URL, when supplied
productTitleTitle derived from the canonical URL slug
authorNamePublic masked reviewer name
opinionOriginal opinion text
ratingNumeric star rating
pros, consBuyer-provided advantages and disadvantages
imagesPublic buyer-uploaded image URLs
createdAtOpinion creation timestamp
helpfulVotesHelpful vote count
unhelpfulVotesNot-helpful vote count
helpfulPercentageHelpful vote percentage when available
sourceLanguageLocale of the original opinion
translatedOpinionAllegro-provided translated text when available
translatedPros, translatedConsTranslated advantages and disadvantages
sellerLoginPublic seller login associated with the opinion
flagsAllegro opinion labels such as BEST
variantParametersReviewed size, color, or other variant data
sourceTypeOpinion source type reported by Allegro
scrapedAtExtraction timestamp

Fields that Allegro does not provide for an opinion are returned as null or an empty array.

How to get started

  1. Open the Actor in Apify Console.
  2. Add a canonical Allegro /produkt/ URL, or enter a product UUID.
  3. Set the maximum number of matching reviews per product.
  4. Optionally choose a rating range or require buyer images.
  5. Click Start.
  6. Open the Dataset tab.
  7. Export the records to JSON, CSV, Excel, XML, or another supported format.

The prefilled canonical product URL is a small real example suitable for a first run.

Input parameters

ParameterTypeDefaultDescription
startUrlsarraynoneCanonical Allegro /produkt/ URLs containing a UUID
productIdsstring arraynoneAllegro product UUIDs for direct or bulk use
maxReviewsPerProductinteger100Maximum matching records saved for each product, from 1 to 1,000
minRatingnumber1Minimum accepted star rating
maxRatingnumber5Maximum accepted star rating
withImagesOnlybooleanfalseSave only opinions that include public images

Provide at least one startUrls entry or one productIds entry.

Duplicate product UUIDs are processed once. The limit is applied separately to each product after filters.

Canonical product URL input

{
"startUrls": [
{
"url": "https://allegro.pl/produkt/korki-adidas-f50-elite-ag-buty-pilkarskie-lanki-na-sztuczna-trawe-orlik-4549a95f-0be1-41b3-954f-015bea7131b3?offerId=18016530911"
}
],
"maxReviewsPerProduct": 10
}

Product UUID and photo filter input

{
"productIds": [
"8e2abfdd-4b19-4384-beee-7d9c5f8dadd6"
],
"maxReviewsPerProduct": 25,
"withImagesOnly": true
}

Low-rating analysis input

{
"productIds": [
"8e2abfdd-4b19-4384-beee-7d9c5f8dadd6"
],
"maxReviewsPerProduct": 100,
"minRating": 1,
"maxRating": 3
}

What does the output look like?

The default dataset contains one item per accepted opinion.

This representative record follows the current live source shape. The example identifier and public names are anonymized:

{
"reviewId": "69abc12310b2326b038a4000",
"productId": "12345678-abcd-4000-9000-123456789abc",
"productUrl": "https://allegro.pl/produkt/sample-product-12345678-abcd-4000-9000-123456789abc",
"productTitle": "Sample product",
"authorName": "A...7",
"opinion": "The product works as expected and arrived safely.",
"rating": 5,
"ratingLabel": "5",
"pros": "Easy to use, solid build",
"cons": "Packaging could be smaller",
"images": [
"https://a.allegroimg.com/original/example-image"
],
"createdAt": "2026-01-15T12:00:00.000Z",
"helpfulVotes": 8,
"unhelpfulVotes": 1,
"helpfulPercentage": 89,
"sourceLanguage": "pl-PL",
"translatedOpinion": "The product works as expected and arrived safely.",
"translatedPros": "Easy to use, solid build",
"translatedCons": "Packaging could be smaller",
"sellerLogin": "example_store",
"flags": ["BEST"],
"variantParameters": [
{ "name": "Size", "value": "Medium" }
],
"sourceType": "ALLEGRO",
"scrapedAt": "2026-01-20T10:30:00.000Z"
}

The dataset schema includes a table view for product, rating, text, pros, cons, date, helpful votes, images, seller, and source URL.

How much does it cost to extract Allegro reviews?

The Actor uses pay-per-event pricing:

  • one start event costs $0.0005 per run;
  • one review event is charged only for each opinion saved to the dataset;
  • filtered, duplicate, empty, and failed records are not charged as reviews.
Apify tierPrice per saved review
Free$0.0015640
Bronze$0.0013600
Silver$0.0010608
Gold$0.0008160
Platinum$0.0005440
Diamond$0.0003808

Bronze cost examples use this exact formula:

Saved reviewsCharge calculation
1one start event + 1 × the Bronze review event
100one start event + 100 × the Bronze review event
1,000one start event + 1,000 × the Bronze review event

This avoids hiding rounding in a quoted total. Actual saved volume depends on the number of public opinions and your filters. Check the Actor's Pricing tab for the tier assigned to your Apify plan.

Product reputation monitoring workflow

A recurring workflow can use stable product UUIDs without loading protected product pages:

  1. Store the UUIDs for the products you follow.
  2. Schedule this Actor daily or weekly.
  3. Set a useful per-product review limit.
  4. Save reviewId as the deduplication key in your database.
  5. Compare newly observed IDs with the previous run.
  6. Alert on low ratings, repeated cons, or sudden review volume.
  7. Build trend summaries by product, seller, language, or variant.

The Actor returns current public opinions. It does not maintain historical state or send alerts by itself.

Image review and quality-analysis workflow

Set withImagesOnly to true to collect opinions with public buyer media.

Possible downstream steps include:

  • image quality inspection;
  • packaging-damage classification;
  • product-color comparison;
  • evidence review for recurring defects;
  • joining text sentiment with visual signals.

Image URLs point to Allegro's public media delivery. Availability can change after extraction.

API usage with cURL

Replace YOUR_API_TOKEN with an Apify API token:

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~allegro-reviews-scraper/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"productIds": ["8e2abfdd-4b19-4384-beee-7d9c5f8dadd6"],
"maxReviewsPerProduct": 20,
"withImagesOnly": true
}'

To wait for completion and receive dataset items directly, use the synchronous dataset-items endpoint documented by Apify.

API usage with JavaScript

Install the official client:

$npm install apify-client

Run the Actor and retrieve its default dataset:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/allegro-reviews-scraper').call({
productIds: ['8e2abfdd-4b19-4384-beee-7d9c5f8dadd6'],
maxReviewsPerProduct: 20,
minRating: 1,
maxRating: 5,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Keep API tokens in environment variables or a secret manager.

API usage with Python

Install the official client:

$pip install apify-client

Then call the Actor:

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/allegro-reviews-scraper').call(run_input={
'productIds': ['8e2abfdd-4b19-4384-beee-7d9c5f8dadd6'],
'maxReviewsPerProduct': 20,
'withImagesOnly': True,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

Use reviewId plus productId as a practical downstream deduplication key.

Use Allegro Reviews Scraper with MCP and AI agents

Add the Actor to Claude Code through the Apify MCP server:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/allegro-reviews-scraper"

Claude Desktop setup

Add this server object to the Claude Desktop MCP configuration:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/allegro-reviews-scraper"
}
}
}

Cursor setup

Add the same apify server object to Cursor's MCP settings. Use the remote HTTP URL shown above and complete Apify OAuth when prompted.

VS Code setup

Add the same remote server URL to your VS Code MCP configuration, then enable the automation-lab/allegro-reviews-scraper tool for your agent session.

Example prompts:

  • “Collect up to 50 opinions for these Allegro product UUIDs and summarize the most common cons.”
  • “Extract only Allegro reviews with buyer images and group them by rating.”
  • “Compare the new review IDs with yesterday's dataset and list newly observed low ratings.”

AI-generated analysis should retain links or identifiers back to the underlying source records.

Tips for reliable runs

  • Prefer direct product UUIDs in scheduled workflows.
  • Use canonical /produkt/ URLs when you want productUrl and a title derived from its slug.
  • Start with a small limit while testing a new product.
  • Remember that filters are applied before the per-product saved limit.
  • Use withImagesOnly only when image-bearing opinions are required.
  • Expect translation fields to be null when Allegro does not provide a translation.
  • Keep the stable reviewId; opinion ordering can change.
  • No Apify Proxy configuration is necessary for the public JSON route.

Transient timeouts, rate limits, and server errors are retried with a bounded policy. Invalid input and unexpected response shapes fail the run instead of silently producing misleading empty data.

Limitations

  • Canonical URLs must contain an Allegro product UUID.
  • Offer-only /oferta/ and localized /nabidka/ URLs do not expose that UUID and are rejected.
  • You can instead copy the UUID from a canonical /produkt/ URL into productIds.
  • Product titles are derived from URL slugs; UUID-only input returns productTitle: null.
  • The public opinion endpoint can return zero records for a valid product with no visible opinions.
  • Allegro decides which translations, seller details, flags, and variant fields are present.
  • The Actor does not translate text itself.
  • The Actor does not scrape private buyer data, authenticated pages, or seller-account information.
  • Maximum accepted output is 1,000 matching reviews per product per run.
  • Source behavior and public response fields can change over time.

Troubleshooting

Why was my product URL rejected?

Use a canonical URL containing a UUID, such as:

https://allegro.pl/produkt/product-name-12345678-abcd-4000-9000-123456789abc

A URL shaped like /oferta/name-1234567890 or /nabidka/name-1234567890 contains an offer ID, not the required product UUID.

Why did a successful run return no rows?

The product may have no public opinions, or no opinions may match your rating and image filters. Try ratings 1–5 with withImagesOnly: false.

Why is the product title null?

Direct UUID input has no title text. Supply a canonical /produkt/ URL if you need the URL-derived product title.

Why are translated fields null?

Translations are included only when Allegro supplies them. The original opinion, pros, and cons remain available.

Does the Actor need a Polish residential proxy?

No. The implementation uses a public structured opinion endpoint and does not fetch Allegro's protected product HTML.

Responsible use and legality

The Actor collects public product-opinion data. You are responsible for using it lawfully and in accordance with applicable terms, privacy rules, database rights, and intellectual-property requirements.

Reviewer names are already masked by Allegro, but opinion text can still contain personal information. Store only the fields needed for your purpose, restrict access, set an appropriate retention period, and honor valid deletion or correction requests.

Do not use review data to harass, identify, or profile individual buyers. Do not present automated sentiment or translation as a statement made by Allegro or the reviewer.

For legal guidance, see Apify's overview of web scraping legality.

Allegro.pl Product Scraper

Use this related Actor to discover Allegro listing cards and collect prices, sellers, images, delivery details, product parameters, and aggregate review counts.

A common workflow is:

  1. discover candidate products with Allegro.pl Product Scraper;
  2. retain canonical product UUIDs for the products you monitor;
  3. collect individual opinions with Allegro Reviews Scraper;
  4. join the two datasets by your product mapping.

FAQ

Can I scrape several products in one run?

Yes. Add several canonical URLs or UUIDs. The maximum review limit is applied to each unique product.

Can I filter for critical reviews?

Yes. Set minRating to 1 and maxRating to 3, or choose another rating band.

Can I download CSV or Excel?

Yes. Apify datasets support JSON, CSV, Excel, XML, and other export formats.

Can I schedule recurring monitoring?

Yes. Use Apify schedules, then deduplicate snapshots downstream with productId and reviewId.

Does it return buyer-uploaded photos?

Yes, when the public opinion includes images. Use withImagesOnly to keep only those opinions.

Does it work without an Allegro API key?

Yes. No Allegro credential is required.

Does it support Allegro Poland, Czechia, Slovakia, and Hungary URLs?

Canonical product URLs on allegro.pl, allegro.cz, allegro.sk, and allegro.hu are accepted when the URL contains a product UUID. The returned opinion locale depends on Allegro's public data.

Are empty fields errors?

No. Optional source fields are represented by nulls or empty arrays. A malformed response shape, unsupported URL, or upstream HTTP failure causes a non-zero run failure.