Changelog - TheFork Restaurant Scraper
Version 2.1 (2025-09-10)
🎉 New Features
Advanced Proxy Pool Management
ProxyPoolManager class for intelligent proxy management
Preloads 15 proxies on initialization
Parallel validation of proxies
Automatic rotation on 403/429 errors
Session caching for efficiency
Real-time statistics tracking
Date Filtering for Reviews
New field: reviewsForLastNDays
- Extract reviews from last N days
Smart filtering using mealDate
field
Automatic stop when reaching older reviews
Metadata about covered date range
Set to 0 to extract all reviews
Renamed: maxItems
→ maxRestaurantsPerCity
(clearer naming)
Added: debugMode
for detailed logging
Better field descriptions with mode indicators
Enhanced proxy configuration with country selection
🔧 Improvements
Data Output
Fixed review text field mapping (reviewBody
→ reviewText
)
Proper handling of all review fields
Corrected date filtering based on ISO format
Enhanced metadata in results
Error Handling
Better logging format (no more garbled error messages)
Improved retry logic with progressive delays
Smarter proxy rotation strategy
Graceful degradation on failures
{
"maxRestaurantsPerCity" : 100 ,
"reviewsForLastNDays" : 30 ,
"maxReviewsPerRestaurant" : 100 ,
"debugMode" : false ,
"proxyConfiguration" : {
"apifyProxyCountry" : "FR"
}
}
🏗️ Technical Changes
Implemented ProxyPoolManager in src/proxyPoolManager.js
Updated ReviewsScraperGraphQL with date filtering logic
Enhanced main.js to handle new input fields
Fixed DataFlattener for proper Apify Console display
Updated actor.json version to 2.1
Proxy validation: ~2-3 seconds for 15 proxies
Automatic stop on date boundary saves resources
Session reuse reduces initialization overhead
Parallel proxy validation improves startup time
Version 2.0 (Previous)
Dual-mode support (restaurants/reviews)
GraphQL-based review scraping
Enhanced data extraction
Proxy configuration support
Migration Guide
From v2.0 to v2.1
Update input fields:
Replace maxItems
with maxRestaurantsPerCity
Add reviewsForLastNDays
for date filtering
Add debugMode
for troubleshooting
Proxy configuration:
Add apifyProxyCountry: "FR"
for better success
Use RESIDENTIAL proxies for best results
Date filtering:
Set reviewsForLastNDays: 30
to get last month's reviews
Set reviewsForLastNDays: 0
for all reviews
{
"urls" : [ "https://www.thefork.com/restaurant/example-r12345" ] ,
"mode" : "reviews" ,
"reviewsForLastNDays" : 7 ,
"maxReviewsPerRestaurant" : 100 ,
"proxyConfiguration" : {
"useApifyProxy" : true ,
"apifyProxyGroups" : [ "RESIDENTIAL" ] ,
"apifyProxyCountry" : "FR"
}
}