Professional automated review submission system with advanced anti-detection and human-like behavior
Features • Quick Start • Configuration • Tech Stack • License
Languages: 🇧🇷 Português • 🇪🇸 Español
- Overview
- About the Developer
- Key Features
- Technology Stack
- Quick Start
- Configuration
- How It Works
- Best Practices
- License
The Reviews.io Automation Actor is a professional automation system that submits reviews to the Reviews.io platform with advanced human-like behavior simulation. Built with cutting-edge anti-detection techniques, browser fingerprinting, and intelligent retry logic.
Key capabilities:
- Human-like typing, mouse movements, and scrolling
- Advanced browser fingerprinting and stealth mode
- Residential proxy support with automatic rotation
- Configurable timing and delays
- Smart URL parameter merging
- Optional merchant metrics support
- Automatic screenshot on failures
Developed by Rafael Vieira (TechBeme)
Full-Stack Developer & Automation Specialist
Specialized in web automation, web scraping, modern web applications, and AI integrations.
- 🤖 Web Automation & Form Filling
- 🔍 Web Scraping & Data Extraction
- ⚡ Process Automation & Workflows
- 💻 Full-Stack Development (TypeScript, Python, Next.js)
- 🛡️ Anti-Detection & Stealth Techniques
- 📊 Custom Apify Actors
🇺🇸 English • 🇧🇷 Português • 🇪🇸 Español
Email: contact@techbe.me
- Realistic Typing: Character-by-character input with random delays and thinking pauses
- Natural Mouse Movement: Bezier curve trajectories with variable speed
- Smooth Scrolling: 60fps frame-by-frame animation with sine wave easing
- Reading Simulation: Random micro-pauses simulating natural reading behavior
- Browser Fingerprinting: Realistic device fingerprints via fingerprint-generator
- Stealth Mode: Playwright Extra with stealth plugins
- Residential Proxies: Apify Proxy integration with rotating IPs
- Random User Agents: Latest Chrome and Firefox user agents
- URL Parameter Support: Intelligent merge of URL parameters and input fields
- Configurable Timing: Adjustable typing speed, action delays, and scroll duration
- Merchant Metrics: Support for 7 different merchant rating fields
- Retry Logic: Automatic retry on failures with configurable attempts
- Success Validation: Automatic detection of submission confirmation page
- Screenshot Capture: Automatic screenshots on errors for debugging
- Detailed Logging: Comprehensive error messages and status updates
- Graceful Fallbacks: Handles missing optional fields seamlessly
| Technology | Purpose |
|---|---|
| fingerprint-generator | Generate realistic browser fingerprints |
| fingerprint-injector | Inject fingerprints into browser context |
| playwright-extra | Stealth plugins for Playwright |
| puppeteer-extra-plugin-stealth | Additional stealth techniques |
| Technology | Purpose |
|---|---|
| Zod | Schema validation |
| ESLint | Code linting |
| Prettier | Code formatting |
| tsx | TypeScript execution |
- Deploy this Actor to your Apify account
- Configure the input fields (see Configuration below)
- Run the Actor
- Monitor the logs and download screenshots if needed
# Clone the repository
git clone <your-repo-url>
cd reviews-io-automation
# Install dependencies
npm install
# Run in development mode
npm run start:dev
# Build for production
npm run build
npm run start:prod| Field | Type | Description |
|---|---|---|
| reviewText | string | The complete review text to be submitted |
| Field | Type | Default | Description |
|---|---|---|---|
| reviewUrl | string | - | Complete Reviews.io URL with pre-filled parameters (store, user, email, order_id, rating). If provided, parameters are extracted and can be overridden by individual input fields |
| rating | integer (1-5) | 5 | Star rating for the review (overrides URL 'rating' param if both provided) |
| reviewerName | string | - | Name of the person submitting the review (overrides URL 'user' param if both provided) |
| reviewerEmail | string | - | Email address of the reviewer (overrides URL 'email' param if both provided) |
| store | string | - | Store domain identifier (overrides URL 'store' param if both provided) |
| orderId | string | - | Order ID for the review (overrides URL 'order_id' param if both provided) |
Option 1: Provide store and orderId directly
- store: www-example-store-com
- orderId: ORDER-12345
Option 2: Provide complete URL with all parameters
Option 3: Mix both (input fields override URL parameters)
- reviewUrl: https://www.reviews.io/store/landing_new_review?store=www-example-store-com&order_id=ORDER-12345
- reviewerName: "John Doe"
- reviewerEmail: "john@example.com"
| Field | Type | Default | Description |
|---|---|---|---|
| minTypingDelay | integer | 50 | Minimum delay between keystrokes (ms) |
| maxTypingDelay | integer | 150 | Maximum delay between keystrokes (ms) |
| minActionDelay | integer | 500 | Minimum delay between actions (ms) |
| maxActionDelay | integer | 3000 | Maximum delay between actions (ms) |
| minScrollDuration | integer | 1000 | Minimum scroll animation duration (ms) |
| maxScrollDuration | integer | 3000 | Maximum scroll animation duration (ms) |
Available fields:
- deliveryOnTime: "Yes", "No"
- deliveryMethod: "Courier", "Postal Service", "Own Driver"
- itemDamaged: "Yes", "No"
- deliveryDays: "Next Day", "Within 5 Days", "Over 7 Days", "Over a month"
- communicationMethod: "Live Chat", "Email", "Telephone"
- companyReplySpeed: "Under an hour", "2-3 Hours", "3-6 Hours", "6-12 Hours", "Over a week"
- customerServiceRating: 0-5 (0 = skip, 1-5 = stars)
| Field | Type | Default | Description |
|---|---|---|---|
| submitAnonymously | boolean | false | Submit review anonymously |
| useProxy | boolean | true | Enable proxy usage |
| headless | boolean | true | Run browser in headless mode |
| maxRetries | integer | 3 | Maximum retry attempts on failure |
| screenshotOnFailure | boolean | true | Capture screenshot on errors |
{
"reviewUrl": "https://www.reviews.io/store/landing_new_review?store=example-store&user=John%20Doe&email=john.doe@example.com&order_id=ORDER-12345&rating=5",
"reviewText": "Amazing quality! The product exceeded my expectations."
}{
"store": "www-example-store-com",
"orderId": "ORDER-12345",
"reviewText": "Amazing quality! The product exceeded my expectations. Fast shipping and great customer service. Will definitely order again.",
"rating": 5,
"reviewerName": "John Doe",
"reviewerEmail": "john.doe@example.com",
"deliveryOnTime": "Yes",
"deliveryMethod": "Courier",
"itemDamaged": "No",
"deliveryDays": "Within 5 Days",
"submitAnonymously": false,
"minTypingDelay": 50,
"maxTypingDelay": 150,
"minActionDelay": 500,
"maxActionDelay": 3000,
"minScrollDuration": 1000,
"maxScrollDuration": 3000,
"useProxy": true,
"headless": true,
"maxRetries": 3,
"screenshotOnFailure": true
}The Actor intelligently merges URL parameters with input fields:
- Extracts all parameters from
reviewUrl(if provided) - Overrides with explicit input fields (if provided)
- Applies defaults for missing required parameters (rating=5, type=company)
Priority: Input fields > URL parameters > Defaults
Example:
- reviewUrl has
rating=4 - Input has
rating=3 - Result: Uses
rating=3(input overrides URL)
Typing
- Character-by-character input with random delays
- Occasional thinking pauses between words
Mouse Movement
- Bezier curve trajectories for smooth natural paths
- Random target points within clickable elements
- Variable speed (slower at start/end, faster in middle)
Scrolling
- Ultra-smooth 60fps frame-by-frame animation
- Sine wave easing for natural acceleration/deceleration
- Random micro-pauses simulating reading behavior
- Configurable duration (3-15 seconds)
Clicking
- 10-step validation process before each click
- Ensures element is visible in viewport with 50px safety margin
- Automatic scroll-to-element if needed
- Hover delay before click
- Browser Fingerprinting: Realistic device fingerprints
- Stealth Mode: Playwright Extra with stealth plugins
- Residential Proxies: Apify Proxy with rotating IPs
- Random User Agents: Latest Chrome and Firefox user agents
- Natural Timing: All delays randomized within configured ranges
- Automatic retry on failures (configurable attempts)
- Screenshot capture on errors
- Detailed error logging
- Graceful fallbacks for missing optional fields
- Use Residential Proxies: Enable useProxy for better success rates
- Slow Down: Use higher scroll and action delays for maximum human-likeness
- Vary Timing: Use wide ranges for delays to avoid pattern detection
- Test First: Run with headless=false locally to verify behavior
- Monitor Success: Check screenshots and logs for any issues
- Only works with Reviews.io platform
- Requires valid store and order ID
- Some merchant metrics may not be available for all stores
- Rate limiting may apply (use delays appropriately)
Proprietary License - All Rights Reserved
Copyright © 2026 Rafael Vieira (TechBeme)
- No commercial use
- No modifications or derivative works
- No distribution or sublicensing
- No reverse engineering
- View source code for educational purposes
- Run for personal, non-commercial use on Apify platform
- Fork for personal study only
For commercial use, custom development, or licensing inquiries, contact: contact@techbe.me
Built with Playwright, Apify SDK, Crawlee, and other amazing open-source technologies.
Developed by Rafael Vieira