UpFront Reviews Scraper & Property Intelligence
Pricing
from $2.00 / 1,000 review delivereds
UpFront Reviews Scraper & Property Intelligence
Scrape UpFront Reviews guest reviews, ratings and owner replies from public accommodation pages. Export CSV or JSON, compare holiday rental properties in an HTML report, and add optional AI guest feedback analysis. No source API key required.
Pricing
from $2.00 / 1,000 review delivereds
Rating
0.0
(0)
Developer
Inus Grobler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
UpFront Reviews Scraper: Export Guest Reviews & Ratings
Scrape UpFront Reviews guest reviews, ratings, and owner replies from public accommodation pages. Export CSV or JSON for holiday rental review analysis, compare properties in a readable HTML report, and add optional AI-powered guest feedback insights.
Built for property managers, holiday rental agencies, and hospitality researchers who want to understand guest experiences without copying reviews by hand.
This is an independent, unofficial Actor. It is not affiliated with UpFront Reviews or SuperControl. It reads public pages and does not need a source API key or booking-system login.
Quick start — three steps
- Paste your property or company link into Links to scrape. Keep the example if you just want to try it.
- Set Number of reviews (10 is a good first run). Optionally turn on Add AI insights.
- Click Start. When the run finishes, open Read your report in the Output tab.
That is all you need for a normal run. Date filters, location search, and advanced limits are in collapsible sections. No coding, prompt writing, or API key entry is required.
For a simple JSON input:
{"startUrls": ["https://www.upfrontreviews.com/reviews/23315/windermere-marina-village/hawkshead-apartments-8-marina-view/611907/"],"maxReviews": 20,"enableAi": false}
Number of reviews is a total limit across all links, not a promise that the source contains that many matching reviews. For multiple properties, a property can use most of the limit; set Reviews per property in Advanced limits if you want to spread the sample.
What data can you export from UpFront Reviews?
- One review row per guest review, including title, text, submitted date, overall and category ratings, recommendation, published stay details, and an available owner reply.
- Property-summary rows with published aggregate scores and statistics calculated separately over your collected sample.
- An HTML report with a cross-property comparison table, category scores, expandable reviews, and optional AI feedback themes.
- Separate CSV downloads with plain-English columns: Guest reviews (one row per review) and Property summaries (one row per property).
- A run summary showing page counts, failures, coverage limits, AI availability, and reported AI usage.
Every review has a stable identifier and a link to the original evidence. Missing source fields remain null.
Use cases for accommodation review analysis
- Improve guest experience: review feedback about cleanliness, comfort, maintenance, location, value, and service.
- Compare holiday rental properties: inspect published scores alongside clearly labeled collected-sample ratings.
- Analyze guest feedback: enable AI to group supported strengths and complaints and suggest practical improvements.
- Research accommodation reviews: export source-linked records for spreadsheets, dashboards, or your own analysis.
Pricing and recommended run settings
Pay only for delivered reviews and optional, successfully saved AI analysis. Platform usage, property summaries, owner replies, reports, and downloads are included; there is no separate dataset-row fee.
| Item | Price |
|---|---|
| Delivered review | $0.002 ($2 per 1,000) |
| Optional AI analysis | Additional $0.003 per analyzed review |
| Actor start | $0.00005 per run at supported 256–512 MB RAM |
The start fee applies even if a run fails or finds no matching reviews. Failed or unavailable AI has no AI surcharge. Duplicate links and repeated theme mentions do not create extra review charges within a run. Starting a new run collects a new snapshot and may charge again.
For example, 10 reviews cost $0.02005 without AI, or $0.05005 if all 10 are analyzed. A 100-review run costs $0.20005 without AI or $0.50005 with all 100 analyzed. For 1,000 reviews with the maximum 100 AI-analyzed reviews per run, the total is $2.30005. These examples assume the requested results are available and all optional analyses succeed.
Set Maximum cost per run in Apify to control your spending. The minimum accepted limit is $0.00205, enough for the start and one review. Reviews take priority over optional AI when the limit is small; your report explains reduced AI coverage. For a 10-review trial, a $0.06 limit covers either option. A spending limit is a ceiling, not a flat fee. Check the Actor's Pricing tab for the current rates.
API users: always send a positive maxTotalChargeUsd (max_total_charge_usd in Python). Do not use zero to request a free test: Apify may treat zero as an omitted limit and apply your account's default allowance.
Recommended run settings are 256 MB RAM and a 180-second timeout. For bulk AI analysis, use a 240-second timeout; unusually large source pages may benefit from 512 MB RAM. Runs exit as soon as the work finishes. The timeout is a safety ceiling, not a minimum billable duration. Page, time, and spending limits still apply: larger requested limits do not guarantee complete coverage.
Find accommodation companies by location
You may also supply an accommodation-company URL to collect reviews from its properties. Overlapping company and property inputs are deduplicated.
Open Find companies by location, remove the example from Links to scrape, turn on Search by location, and choose a country. UK searches require a region, such as Scotland. An optional subregion narrows UK results further. Use the region labels displayed in the public UpFront Reviews directory.
Location filters apply to the site's accommodation-company directory, not verified property addresses. A company can list properties outside the selected area. Use direct property URLs when exact property location matters.
{"startUrls": [],"discover": true,"country": "GB","region": "Scotland","maxReviews": 10,"enableAi": false}
Inputs and limits
| Input | Behavior |
|---|---|
| startUrls | Property or company URLs; at most 100. |
| discover, country, region, subregion | Optional public-directory discovery and location filters. |
| dateFrom, dateTo | Inclusive submitted-date filters in YYYY-MM-DD format. Undated reviews are excluded when a date filter is active. |
| maxProperties | Default 10; maximum 100 properties across all inputs. |
| maxReviewsPerProperty | Optional advanced cap. When empty, follows maxReviews; maximum 2,000. |
| maxReviews | Maximum exported review rows across all properties; default 10, hard ceiling 2,000. |
| maxRequests | Default 10; maximum 250 page attempts, including retries. |
| enableAi | Optional AI analysis, off by default. |
| maxAiReviews | Optional advanced cap. When empty, follows maxReviews up to 100 newest collected reviews. |
With no inputs, the Actor uses one example property and collects up to 10 reviews. For a larger sample, change Number of reviews. The per-property and AI limits follow automatically when left empty. Explicit advanced values still take precedence, including values saved in older tasks. Page, property, time, and spending limits can reduce the final sample.
Output: guest review CSV, property summaries, and reports
| Output link | Use it for |
|---|---|
| Read your report | The easiest way to read findings, compare properties, and inspect source evidence. |
| Guest reviews — CSV | Open in Excel or import into Google Sheets; one row per review with rating, text, date, owner reply, and source link. |
| Property summaries — CSV | Compare properties in a spreadsheet, with clearly separated published and collected-sample ratings. AI insight columns are empty when analysis is off. |
| All data — JSON (advanced) | Complete original records for integrations, including IDs, nested scores, and every AI observation. |
| Run details — JSON (advanced) | Troubleshoot source failures, limits, timings, and AI availability. |
CSV column headings use plain English. Blank cells mean the source did not provide a value or the field does not apply; they do not mean zero. Scores are out of 5. Empty results still include CSV headers. CSV text beginning like a spreadsheet formula is protected with a leading apostrophe; original JSON text stays unchanged.
The default dataset contains review and property_summary records. Use recordType to select the rows you need. The Guest reviews and Property summaries views expose relevant columns; exports may include both row types.
Example review fields:
{"recordType": "review","reviewId": "123","propertyId": "9","propertyName": "Example Cottage","title": "Relaxing stay","text": "A peaceful location with a comfortable bed.","submittedDate": "2026-09-01","rating": 4.7,"recommends": true,"ownerReply": null,"sourceUrl": "https://www.upfrontreviews.com/reviews/7/example-company/example-cottage/9/#review_123"}
Use the two dedicated CSV downloads to avoid mixed review/property rows. The advanced dataset still supports standard JSON, CSV, and Excel exports for existing integrations.
Published ratings/counts refer to the website's aggregate. Sample ratings/counts refer only to exported reviews after your filters and caps. An incomplete sample must not be interpreted as the property's full review history.
Optional AI guest feedback analysis
AI analysis is optional and disabled by default. Clients do not supply a key. For public use, owner-funded AI requires a paid Apify plan, active event pricing, and an available owner spending allowance. Free-plan users can still collect reviews and use the factual report. Private owner testing is supported separately.
AI is billed only when validated review-level evidence has been saved. Property summaries and repeated theme mentions do not incur additional AI charges. See Pricing and recommended run settings above for rates and examples.
When enabled, the report identifies strengths and complaints around cleanliness, comfort, maintenance, location, value, and service, and offers suggested improvements. Findings link to analyzed reviews and show code-calculated evidence counts. Suggestions are AI interpretations, not verified maintenance facts or promises of outcomes.
Each theme includes its share of analyzed reviews and review-by-review observations. Compact summaries display up to three distinct observations; the evidence details retain every analyzed observation. Topic counts indicate mentions of a broad theme, not identical defects. Sentiment counts and the property comparison table help you inspect differences without confusing the sample with the full published history.
Only a bounded sample is analyzed, and each run has an owner-controlled spending allowance. If AI is unavailable, the key is missing, or the allowance is exhausted, collected review data and the factual report remain available. The report explicitly identifies partial or unavailable analysis.
AI uses an owner-managed service shared across applications. Availability depends on that service's overall credit and rate limits; clients do not need to configure or provide an OpenRouter key.
Check the AI coverage notice near the top of the report. It shows how many collected reviews were analyzed and explains any spending, time, or availability limit. An incomplete AI sample is not described as completed analysis.
AI receives at most the first 6,000 characters of each selected review; the exported review text is not shortened for this reason.
When AI is enabled, selected review text and ratings are sent through OpenRouter to the configured model provider for analysis. Leave AI off if you only want source extraction without sending review content to an AI provider.
Limitations
- Only publicly available UpFront Reviews content is supported. No booking details, private guest records, or SuperControl account data are accessed.
- Each run is a fresh snapshot. Stable IDs and submitted-date filters support downstream comparisons; this Actor does not remember earlier runs.
- Interrupted runs preserve completed downloads and evidence as they become available. Automatic resurrection of the same run is stopped to avoid duplicate data or charges; start a new run for a fresh snapshot. An interruption can leave the default dataset without its final property-summary rows; use the saved report and CSV files for the available results.
- Source changes, unavailable pages, or limits can reduce coverage. Partial failures are listed in the run summary.
- Crawling has a three-minute time budget and may stop sooner when the run timeout is close. Results collected so far are saved with a coverage warning.
- Property pages may publish a review count that differs from the reviews currently accessible. These differences are reported.
- Public guest display names and locations are included only as published. Missing values are not guessed.
Python API example
Use a current apify-client release supporting max_total_charge_usd (tested with 3.2.0). Upgrade older clients before running this example. Use your Apify token; event spending is capped at $0.10:
import osfrom decimal import Decimalfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("TheScrapeLab/upfront-reviews-intelligence").call(run_input={"startUrls": ["https://www.upfrontreviews.com/reviews/23315/windermere-marina-village/hawkshead-apartments-8-marina-view/611907/"],"maxReviews": 20,"enableAi": False,}, max_total_charge_usd=Decimal("0.10"))if run is None:raise RuntimeError("Actor did not return a run")# Compatible with dictionary-returning and typed versions of apify-client.dataset_id = run["defaultDatasetId"] if isinstance(run, dict) else run.default_dataset_idfor item in client.dataset(dataset_id).iterate_items():if item.get("recordType") == "review":print(item["propertyName"], item["rating"], item["text"])
Frequently asked questions
Do I need an UpFront Reviews API key?
No. This scraper reads public UpFront Reviews pages, so you do not need a source API key, a booking-system login, or a SuperControl account. Run it through the Apify form without writing code. An Apify token is needed only if you choose to run it through the Apify API.
Can I export UpFront Reviews to Excel or Google Sheets?
Yes. Download Guest reviews — CSV or Property summaries — CSV from the Output tab. These files use separate row types and plain-English column headings. Standard dataset exports also offer Excel and JSON.
Does the scraper work without AI?
Yes. AI is off by default. Review extraction, ratings, owner replies, CSV downloads, and the factual HTML report work without AI. Add AI insights only when you want guest feedback themes and suggestions; the configured service uses OpenRouter, and AI usage costs apply.
Why did I receive fewer reviews than I requested?
The number is a maximum, not a guaranteed result count. Available source reviews, date filters, per-property caps, page limits, and the run timeout can reduce the sample. Check the report's coverage notes before treating the results as a complete review history. If a large company page times out, try its direct property links.
Does it access bookings or private guest records?
No. The Actor only collects supported public UpFront Reviews content. It does not access reservations, payment details, private guest records, or SuperControl account data. Public reviewer details are included only as published.
Support
Use the Actor's Issues tab on Apify to report a problem. Include the run ID, public source URL, and expected versus actual result. Never include API keys or private guest information. For incomplete results, first check the report's coverage notice and Run details download.