Changelog
New features, improvements, and fixes shipped to AlterLab.
Use explicit date match for depositsToday KPI
Use explicit date match for depositsToday KPI .
Add pg_trgm GIN indexes for admin ILIKE search queries (#...
Add pg_trgm GIN indexes for admin ILIKE search queries (#....
Share Redis client across health checks to eliminate TCP ...
Share Redis client across health checks to eliminate TCP ....
Add dangerous header blocklist to session and crawl valid...
Add dangerous header blocklist to session and crawl valid....
Make LocationConfig.country optional to match API contrac...
Make LocationConfig.country optional to match API contrac....
Raise ValidationError when cache_ttl set without cache=Tr...
Raise ValidationError when cache_ttl set without cache=Tr....
Return status=cancellation_pending when refund_pending=Tr...
Return status=cancellation_pending when refund_pending=Tr....
Skip crawl_history update when cancel refund is pending (...
Skip crawl_history update when cancel refund is pending (....
Center session browse mode selector with filter bar
Center session browse mode selector with filter bar .
Add render_js prerequisite and max-20 validation for acti...
Add render_js prerequisite and max-20 validation for acti....
Remove dead SMTP branch from checkEmail
Remove dead SMTP branch from checkEmail .
Delete cancel_refund lock after successful refund
Delete cancel_refund lock after successful refund .
Make Avg Response and New Signups stat cards clickable (#...
Make Avg Response and New Signups stat cards clickable (#....
Send 'category_id' query param to match backend list_post...
Send 'category_id' query param to match backend list_post....
Block dangerous header names in session_headers validator...
Block dangerous header names in session_headers validator....
Previous Releases
Bug Fixes & Stability
General bug fixes and improvements
ImprovedPlus 1 internal improvement for better reliability and performance.
Raise MAX_QUEUE_DEPTH default from 100 to 500
FixedRaise MAX_QUEUE_DEPTH default from 100 to 500 .
Add hard-cap eviction for _last_used_cache
FixedAdd hard-cap eviction for _last_used_cache .
Standardize ResizeObserver height measurement
FixedStandardize ResizeObserver height measurement .
Auto-dismiss activation banner when stats update after fi...
FixedAuto-dismiss activation banner when stats update after fi....
Resolve two TypeScript build errors
FixedResolve two TypeScript build errors .
Add lastModified to /smart-rendering-api sitemap entry (#...
FixedAdd lastModified to /smart-rendering-api sitemap entry (#....
Correct Phase H guard index in 0096 rollback
FixedCorrect Phase H guard index in 0096 rollback .
Add herald.clarity_api_token to SOPS prod.
FixedAdd herald.clarity_api_token to SOPS prod. .
Expand seo dedup guard to match slash-separated display n...
FixedExpand seo dedup guard to match slash-separated display n....
Update _CSR_WEBPACK_FILENAME_PATTERNS comment for dual-mo...
FixedUpdate _CSR_WEBPACK_FILENAME_PATTERNS comment for dual-mo....
Show correct \$0.00 for zero-balance dormant users in ema...
FixedShow correct \$0.00 for zero-balance dormant users in ema....
Store create_task reference to prevent GC risk
FixedStore create_task reference to prevent GC risk .
Replace containerHeight state with ResizeObserver ref in ...
FixedReplace containerHeight state with ResizeObserver ref in ....
Add SET NOT NULL to 0096 rollback Phase C
FixedAdd SET NOT NULL to 0096 rollback Phase C .
Fall back to in-memory throttle on Redis failure in _shou...
FixedFall back to in-memory throttle on Redis failure in _shou....
Fix billing crash on cache hits
FixedYour scrape requests that hit the cache no longer cause 500 errors. Savings are now correctly set to 0, so billing works as expected.
Remove Site Crawler from homepage
FixedRemove Site Crawler from homepage.
Bug Fixes & Stability
General bug fixes and improvements
ImprovedPlus 13 internal improvements for better reliability and performance.
Welcome modal not firing for ~13% of new signups
FixedWelcome modal not firing for ~13% of new signups .
Stop decrypting API key on every Mission Control load (#9...
FixedStop decrypting API key on every Mission Control load (#9....
Stop caching plaintext API keys in Web Storage
FixedStop caching plaintext API keys in Web Storage .
Add rate limit and audit log to decrypt proxy
FixedAdd rate limit and audit log to decrypt proxy .
Require explicit confirmation before API key transfer to ...
FixedRequire explicit confirmation before API key transfer to ....
Stop storing plaintext API key in localStorage
FixedStop storing plaintext API key in localStorage .
Mask API key in IntegrationCTA code snippets
FixedMask API key in IntegrationCTA code snippets .
Bug Fixes & Stability
Update remaining /anti-bot-bypass-api references to /smar...
NewUpdate remaining /anti-bot-bypass-api references to /smar....
Align ToS and AUP with new marketing positioning
NewAlign ToS and AUP with new marketing positioning .
Update stale slug-to-context mapping after renam...
FixedUpdate stale slug-to-context mapping after renam....
Add 301 redirects for removed domain pages
FixedAdd 301 redirects for removed domain pages .
Hoist _POSTGRES_SURROGATE_TABLE to module level
FixedHoist _POSTGRES_SURROGATE_TABLE to module level .
Correct llms.txt adaptive-rendering-api URL to smart-rend...
FixedCorrect llms.txt adaptive-rendering-api URL to smart-rend....
Replace bare console.log with debugLog to prevent job ID ...
FixedReplace bare console.log with debugLog to prevent job ID ....
Make UntranslatableCharacterError detection reachable via...
FixedMake UntranslatableCharacterError detection reachable via....
Expand _sanitize_for_postgres to cover Unicode non-charac...
FixedExpand _sanitize_for_postgres to cover Unicode non-charac....
Correct migration 0093 to target scrape_diagnostics for s...
FixedCorrect migration 0093 to target scrape_diagnostics for s....
Null out negative response_time_ms and scrape_time_ms val...
FixedNull out negative response_time_ms and scrape_time_ms val....
Replace time.time with time.monotonic for duration me...
FixedReplace time.time with time.monotonic for duration me....
Remove example URLs dropdown from config panel
FixedRemove example URLs dropdown from config panel.
Add blog-post-headline/description classes to match speak...
FixedAdd blog-post-headline/description classes to match speak....
Replace /anti-bot-bypass-api with /smart-rendering-api in...
FixedReplace /anti-bot-bypass-api with /smart-rendering-api in....
Release Title
Discord slash commands
NewDescription: You can now run /usage to view your tier and linked email, and /balance to see your current dollar balance formatted as $X.XX. These commands are only visible to linked accounts.
Discord OAuth provider
NewDiscord OAuth provider.
Discord linking UI
NewDiscord linking UI.
Short title
NewDescription...
Discord slash commands
NewDescription...
Discord OAuth provider
NewDescription...
Discord linking UI
NewDescription...
Add blog-performance UI page + nav entry
NewAdd blog-performance UI page + nav entry .
Harmonize BYOS data processor role and strengthen respons...
NewHarmonize BYOS data processor role and strengthen respons....
fix(api): add input validation for discord_id, provider allowlists (, ) – likely a fix, maybe impr
Improvedfix(api): add input validation for discord_id, provider allowlists (, ) – likely a fix, maybe impr.
fix(auth): guard against Discord users with unverified email – bug fix.
Improvedfix(auth): guard against Discord users with unverified email – bug fix..
fix(auth): clear account_link_state cookie after linking completes – bug fix.
Improvedfix(auth): clear account_link_state cookie after linking completes – bug fix..
fix(auth): set account_link_state cookie as HttpOnly + Secure – security improvement? It's about
Improvedfix(auth): set account_link_state cookie as HttpOnly + Secure – security improvement? It's about .
feat(sentinel): add /usage and /balance slash commands for linked users – new feature.
Improvedfeat(sentinel): add /usage and /balance slash commands for linked users – new feature..
feat(auth): add Discord to connected accounts linking UI – new feature.
Improvedfeat(auth): add Discord to connected accounts linking UI – new feature..
feat(auth): add Discord OAuth provider to NextAuth – new feature.
Improvedfeat(auth): add Discord OAuth provider to NextAuth – new feature..
fix(scraper): reject hostless URLs in batch schema and worker pre-flight – bug fix.
Improvedfix(scraper): reject hostless URLs in batch schema and worker pre-flight – bug fix..
(Note: there are internal commits not needed.)
Improved(Note: there are internal commits not needed.).
Input validation for discord_id and provider allowlists – improves reliability, maybe "Validate Disc
ImprovedInput validation for discord_id and provider allowlists – improves reliability, maybe "Validate Disc.
Guard against unverified email causing 422 – improves auth flow.
ImprovedGuard against unverified email causing 422 – improves auth flow..
Clear account_link_state cookie after linking – improves user experience.
ImprovedClear account_link_state cookie after linking – improves user experience..
Set cookie HttpOnly + Secure – security improvement.
ImprovedSet cookie HttpOnly + Secure – security improvement..
Add /usage and /balance slash commands – new feature.
ImprovedAdd /usage and /balance slash commands – new feature..
Add Discord to connected accounts linking UI – new feature.
ImprovedAdd Discord to connected accounts linking UI – new feature..
Add Discord OAuth provider to NextAuth – new feature.
ImprovedAdd Discord OAuth provider to NextAuth – new feature..
Reject hostless URLs in batch schema – improves scraper reliability.
ImprovedReject hostless URLs in batch schema – improves scraper reliability..
New slash commands (/usage, /balance) – likely Features.
ImprovedNew slash commands (/usage, /balance) – likely Features..
Add Discord to connected accounts linking UI – maybe Features or Improvements? It's a new UI feature
ImprovedAdd Discord to connected accounts linking UI – maybe Features or Improvements? It's a new UI feature.
Add Discord OAuth provider – maybe Features (or Improvements?). Probably Features.
ImprovedAdd Discord OAuth provider – maybe Features (or Improvements?). Probably Features..
Input validation for discord_id and provider allowlists – could be Improvements (enhancement) or Fix
ImprovedInput validation for discord_id and provider allowlists – could be Improvements (enhancement) or Fix.
Guard against unverified email – fix? Could be "Fixed Discord email handling". Type:fix.
ImprovedGuard against unverified email – fix? Could be "Fixed Discord email handling". Type:fix..
Clear account_link_state cookie after linking – fix? Could be "Reset link state cookie". Type:fix.
ImprovedClear account_link_state cookie after linking – fix? Could be "Reset link state cookie". Type:fix..
Set cookie HttpOnly + Secure – security improvement. Could be "Secure cookie flags for link state".
ImprovedSet cookie HttpOnly + Secure – security improvement. Could be "Secure cookie flags for link state". .
Reject hostless URLs in batch schema – fix? Could be "Reject hostless URLs in batch requests". Type:
ImprovedReject hostless URLs in batch schema – fix? Could be "Reject hostless URLs in batch requests". Type:.
Validate Discord ID and provider filters
ImprovedValidate Discord ID and provider filters.
Handle unverified Discord email gracefully
ImprovedHandle unverified Discord email gracefully.
"Discord slash commands" = 3 words? Actually "Discord" (1) "slash" (2) "commands" (3) => 3 words, ok
Improved"Discord slash commands" = 3 words? Actually "Discord" (1) "slash" (2) "commands" (3) => 3 words, ok.
"Discord OAuth provider" = 3 words? "Discord" (1) "OAuth" (2) "provider" (3) => 3 words.
Improved"Discord OAuth provider" = 3 words? "Discord" (1) "OAuth" (2) "provider" (3) => 3 words..
"Discord linking UI" = 3 words.
Improved"Discord linking UI" = 3 words..
"Validate Discord ID and provider filters" = 5 words? Count: Validate(1) Discord(2) ID(3) and(4) pro
Improved"Validate Discord ID and provider filters" = 5 words? Count: Validate(1) Discord(2) ID(3) and(4) pro.
"Handle unverified Discord email" = 4 words? Handle(1) unverified(2) Discord(3) email(4) => 4 words.
Improved"Handle unverified Discord email" = 4 words? Handle(1) unverified(2) Discord(3) email(4) => 4 words..
"Clear link state cookie" = 4 words.
Improved"Clear link state cookie" = 4 words..
"Reject hostless URLs in batch" = 4 words? Reject(1) hostless(2) URLs(3) in(4) batch(5) => 5 words,
Improved"Reject hostless URLs in batch" = 4 words? Reject(1) hostless(2) URLs(3) in(4) batch(5) => 5 words, .
"Secure cookie flags for link state" = 6 words? Secure(1) cookie(2) flags(3) for(4) link(5) state(6)
Improved"Secure cookie flags for link state" = 6 words? Secure(1) cookie(2) flags(3) for(4) link(5) state(6).
Feature entries: icon:Rocket
ImprovedFeature entries: icon:Rocket.
Improvement entries: icon:Zap
ImprovedImprovement entries: icon:Zap.
Fix entries: icon:Bug
ImprovedFix entries: icon:Bug.
Security entry: icon:Shield
ImprovedSecurity entry: icon:Shield.
Slash commands: visualHint:screenshot
ImprovedSlash commands: visualHint:screenshot.
OAuth provider: maybe code? But code hint is for code examples; not needed. Could omit.
ImprovedOAuth provider: maybe code? But code hint is for code examples; not needed. Could omit..
Linking UI: screenshot.
ImprovedLinking UI: screenshot..
Validation: stats? Maybe stats.
ImprovedValidation: stats? Maybe stats..
Email handling: maybe stats? Could use stats.
ImprovedEmail handling: maybe stats? Could use stats..
Clear cookie: maybe stats? Could omit.
ImprovedClear cookie: maybe stats? Could omit..
Reject hostless URLs: maybe code? Could omit.
ImprovedReject hostless URLs: maybe code? Could omit..
Secure cookie: maybe stats? Could omit.
ImprovedSecure cookie: maybe stats? Could omit..
Validate Discord ID and provider filters
ImprovedDescription...
Handle unverified Discord email
ImprovedDescription...
General bug fixes and improvements
ImprovedPlus 7 internal improvements for better reliability and performance.
Clear link state cookie after linking
FixedClear link state cookie after linking.
Reject hostless URLs in batch requests
FixedReject hostless URLs in batch requests.
Clear link state cookie
FixedDescription...
Reject hostless URLs in batch
FixedDescription...
Use correct AdminKPIRow cards prop and AdminStatCardProps...
FixedUse correct AdminKPIRow cards prop and AdminStatCardProps....
Remove email from Discord lookup response and usage embed...
FixedRemove email from Discord lookup response and usage embed....
Add in-memory fallback for discord lookup rate limit when...
FixedAdd in-memory fallback for discord lookup rate limit when....
Make trust seed marker permanent and clear on invalidate ...
FixedMake trust seed marker permanent and clear on invalidate ....
Defer /usage and /balance before resolve to avoid 3s ti...
FixedDefer /usage and /balance before resolve to avoid 3s ti....
Add URL host validation to ScrapePDFRequest and ScrapeOCR...
FixedAdd URL host validation to ScrapePDFRequest and ScrapeOCR....
Make history empty state text mode-aware
FixedMake history empty state text mode-aware .
Migrate Gemini CLI from --allowed-tools to --approval-mod...
FixedMigrate Gemini CLI from --allowed-tools to --approval-mod....
Prevent double-release of domain concurrency slot on inva...
FixedPrevent double-release of domain concurrency slot on inva....
Reject hostless URLs in batch schema and worker pre-fligh...
FixedReject hostless URLs in batch schema and worker pre-fligh....
Prefer backend response_time_ms over client wall-clock in...
FixedPrefer backend response_time_ms over client wall-clock in....
Remove leading space in min_confidence warning sentence (...
FixedRemove leading space in min_confidence warning sentence (....
Allow input composition during send — keep submit guards ...
FixedAllow input composition during send — keep submit guards ....
Secure cookie flags for link state
SecuritySecure cookie flags for link state.
Secure cookie flags for link state
SecurityDescription...
Bug Fixes & Stability
General bug fixes and improvements
ImprovedPlus 13 internal improvements for better reliability and performance.
Resolve TypeScript narrowing error in blog chat publish b...
FixedResolve TypeScript narrowing error in blog chat publish b....
Remove leading space in min_confidence warning sentence (...
FixedRemove leading space in min_confidence warning sentence (....
Allow input composition during send — keep submit guards ...
FixedAllow input composition during send — keep submit guards ....
Disable publish/draft buttons while publish is in-flight ...
FixedDisable publish/draft buttons while publish is in-flight ....
Rename segment_key → segment_slug in HeraldSegment interf...
FixedRename segment_key → segment_slug in HeraldSegment interf....
Add isSending guard to prevent concurrent message sends (...
FixedAdd isSending guard to prevent concurrent message sends (....
Hostless URL Rejection
FixedHostless URL Rejection.
Explicit Approval Mode Required
BreakingUsers must now specify an approval mode when using the CLI, replacing the deprecated flag. This prevents accidental runs without proper policy approval.
Admin Panel Data Accuracy Fixes
Interactive blog chat panel
NewAdministrators can now generate blog drafts through an interactive chat interface directly in the admin panel. The system provides real-time topic suggestions and draft generation with visual loading states during processing.
Blog post publishing workflow
NewThe new publishing endpoints enable seamless transition from draft to published content with conversation history preservation. Each session maintains context for up to 24 hours, allowing for iterative refinement of posts.
General bug fixes and improvements
ImprovedPlus 17 internal improvements for better reliability and performance.
Corrected usage statistics columns
FixedAdmin panel usage statistics now display accurate credit usage data by using the correct column names in database queries.
Fixed customer activity tracking
FixedCustomer activity displays properly in the CRM pipeline by using the correct session tracking data instead of referencing non-existent columns.
Fixed success rate display
FixedSuccess rate percentages now display correctly in the admin panel by computing the proper percentage values instead of decimal fractions.
Corrected billing information display
FixedBilling settings and recharge information now show accurate data by querying the correct database columns for payment configurations.
Fixed session integration metrics
FixedSession integration success rates now calculate properly by computing the metric in SQL rather than attempting to select non-existent database columns.
Enhanced Admin Control & Monitoring
Announcement Management UI
NewA new admin page allows you to create, edit, and manage platform announcements that appear to users. The interface provides a centralized location for controlling what messages users see when they access the platform.
Sidebar Navigation Integration
NewThe announcement management tool is now accessible through a dedicated sidebar navigation item, making it easy to find and use the announcement features without searching through menus.
AI Workforce Performance Dashboard
NewMonitor your AI workforce trust levels and performance with a new dashboard showing real-time trust gauges, task-specific performance metrics, and review queue management. You can now track autonomous system behavior and approve/reject AI-generated content through an intuitive Kanban interface.
Herald Scheduler Control Panel
NewTake full control of your Herald scheduling with a comprehensive monitoring dashboard featuring job status grids, success rate gauges, and manual trigger capabilities. You can view 7-day performance history, identify jobs with high failure rates, and run jobs on-demand from a single interface.
Reddit Operations Management
NewManage your Reddit operations with dedicated overview pages showing KPI metrics, opportunity pipelines, post performance leaderboards, and subreddit fitness heatmaps. You can now track engagement metrics, monitor opportunity progress, and analyze subreddit performance from centralized dashboards.
Herald User Segments Management
NewOrganize and manage your Herald user segments with new overview and detail pages. You can view member counts, average relationship scores, and last entry times for each segment, with detailed analytics for individual segments to optimize your targeting strategies.
Content Calendar & Queue
NewPlan and manage your content workflow with a new calendar view offering monthly and weekly perspectives. The Kanban-style queue interface lets you approve or reject content in bulk with reason tracking, while inline previews help you make informed decisions about scheduled content.
Blog Syndication Dashboard
NewTrack your blog syndication performance across multiple platforms with a comprehensive dashboard showing platform health, cross-platform status matrices, and aggregate syndication counts. You can monitor publishing progress, identify failed syndications, and view detailed status for each published p
Smarter circuit breaking
ImprovedThe system now tracks wasted time across scraping attempts and trips circuit breakers earlier when domains consistently fail. This prevents wasting resources on domains that are temporarily unreachable or blocking requests.
Better concurrency control
ImprovedPer-domain concurrency limits prevent overwhelming domains with too many simultaneous requests. This results in more stable scraping sessions and reduces the likelihood of triggering anti-bot protections.
Faster error recovery
ImprovedError fallback pages now use shorter cache headers to prevent stale error states. The system also clears trip counts properly after manual resets, ensuring domains return to normal operation faster.
Enhanced mobile experience
ImprovedMobile users now see properly sized footers that don't clip content, and the homepage announcement bar can be dismissed. These improvements create a smoother browsing experience on smaller screens.
Better memory management
ImprovedWorker memory limits have been optimized to prevent out-of-memory crashes while maintaining performance. This results in more stable long-running scraping operations and better resource utilization.
General bug fixes and improvements
ImprovedPlus 22 internal improvements for better reliability and performance.
Enhanced Admin Error Handling
ImprovedExperience more reliable admin panel interactions with improved error boundaries and toast notifications for API failures. Rate limit errors, authentication issues, and other API problems now provide clear user feedback instead of silent failures, making troubleshooting much easier.
General bug fixes
FixedVarious stability improvements including proper cleanup of video event listeners, correct breadcrumb navigation, and fixed Open Graph image sanitization. These fixes address edge cases that could cause minor disruptions.
Admin Panel Stability Fixes
FixedCritical stability improvements ensure admin panel features work reliably across all pages. Authentication mismatches, broken endpoints, and data display issues have been resolved, providing a consistent experience when managing your platform operations and user data.
Enhanced Authentication & Performance
Optimized logo assets
ImprovedLogo images have been optimized for faster loading, reducing file sizes from 290KB to 78KB while maintaining quality. This results in quicker page loads and better performance across all marketing and documentation pages.
Lazy-loaded footer video
ImprovedThe footer video now loads only when you scroll near it, preventing the 2.2MB video from buffering on initial page load. This significantly improves above-the-fold performance and reduces data usage for users who don't scroll to the bottom.
Unified navigation system
ImprovedMarketing site navigation has been standardized across all pages using a shared navigation constant. This ensures consistent menu items and improves the overall user experience when navigating between pricing, documentation, and other sections.
Enhanced homepage experience
ImprovedThe homepage now features a WebGL scroll-driven tunnel intro that creates an engaging visual experience as you scroll. This modern animation enhances the first impression while maintaining fast load times through optimized rendering.
Improved auth page layouts
FixedAuthentication-related pages now properly exclude the sticky footer video, providing cleaner layouts for password resets, email verification, and welcome pages. This ensures these transactional pages remain focused and distraction-free.
Consistent branding across headers
FixedLogo sizes and spacing have been standardized across all headers and navigation elements. This creates a cohesive visual identity throughout the platform, with proper proportions between logos and wordmarks on every page.
General bug fixes and improvements
FixedVarious minor issues have been resolved including backup retention validation, duplicate footer prevention on documentation pages, and improved scroll behavior for short marketing pages. These refinements enhance overall platform stability and usability.
Enhanced email security
SecurityDisposable email domains are now blocked at signup initiation using an expanded community-maintained list of 5,383 domains. This prevents abuse from temporary email services and improves platform security for all users.
Enhanced Emails and Partner Resources
Domain reliability circuit breaker
NewThe system now automatically detects when a domain is experiencing repeated failures and temporarily pauses requests to prevent batch job failures. This helps maintain overall scraping stability when encountering problematic domains.
Animated tier progression display
NewDashboard now shows your current tier with smooth count-up animations and branded icons that scale in when you scroll. The visual progression makes it easier to see your usage limits and available capacity at a glance.
Brand kit page added
NewA new brand resources page provides easy access to logo downloads, color palettes with hex and oklch values, typography specifications, and usage guidelines for partners and developers.
Supabase integration docs
NewComprehensive integration guides for Supabase are now available, including Edge Function and pg_cron examples, SDK walkthroughs for Python and Node.js, and common use cases like price monitoring and lead enrichment.
Enhanced billing page tiers
ImprovedThe billing interface now displays your current tier with the new branded tier badges and includes a progression hint showing your path to higher limits. This gives you clearer visibility into your usage and upgrade options.
Enterprise tier announcement
ImprovedHigh Volume tier users now see a clear upgrade path to Enterprise with custom limits tailored to their workload. The dashboard celebrates your tier upgrade with a special announcement when you have available balance.
Consistent tier branding
ImprovedAll tier displays across the platform now use the same branded tier badge system with consistent colors and icons. This creates a unified experience whether you're viewing your dashboard, billing page, or tier progression.
General bug fixes and improvements
ImprovedPlus 51 internal improvements for better reliability and performance.
Personalized password emails
ImprovedPassword reset emails now include your display name when available, making communications feel more personal and professional. If no name is set, the email defaults to a friendly greeting.
Corrected billing display
FixedUsage alert emails now show accurate dollar amounts instead of inflated values. The billing system correctly converts microcent balances to dollars, preventing confusion about remaining credits.
Display credits as dollar amounts in invoice upcoming ema...
FixedDisplay credits as dollar amounts in invoice upcoming ema....
Enhanced Reliability and Billing Accuracy
New Automation Entry Points
NewAdded dedicated startup scripts and entry points for automated processes, making it easier to deploy and manage scraping operations at scale. These improvements streamline the initialization of background services.
Enhanced Configuration Bridge
NewImplemented new configuration retrieval capabilities that allow seamless integration between different components. Users can now easily access and manage configuration settings across the platform.
Shared Rate Limiting System
ImprovedReplaced the previous per-process rate limiting with a centralized system that ensures consistent limits across all instances. This prevents unexpected behavior during deployments and maintains fair usage policies.
Reliable Extension Updates
FixedFixed the extension update mechanism to properly handle self-hosted installations. The update system now works consistently regardless of deployment environment, ensuring users always have the latest features.
Accurate Connection Status
FixedImproved the connection detection logic to correctly identify when users are properly configured. This prevents false positives in the connection status and ensures the setup process works as expected.
Consistent Font Loading
FixedResolved font loading issues that affected visual elements in the platform. All necessary resources are now properly included in the deployment, ensuring consistent appearance across all features.
Secure Alert Handling
FixedEnhanced the security of alert systems by properly sanitizing input data. This prevents potential security issues while maintaining the functionality of critical notification features.
Configuration Validation
FixedFixed configuration validation to use consistent constants throughout the system. This ensures that all components respect the same limits and prevents configuration drift between different parts of the platform.
Accurate billing for API discovery
FixedAPI discovery now correctly bills for proxy usage when required, ensuring you're only charged for the resources actually consumed during the discovery process.
Improved captcha detection accuracy
FixedThe system now correctly identifies captcha challenges even when JavaScript contains comparison operators, preventing false negatives in automated detection.
Fixed Next.js development path issues
FixedAPI discovery no longer attempts to use Next.js development-only paths, ensuring consistent behavior across all environments and preventing failed discovery attempts.
Enhanced webhook delivery reliability
FixedWebhook failures from DNS rebinding attacks now properly increment failure counts, triggering automatic disabling when thresholds are exceeded to protect your system.
Corrected batch URL limits
FixedThe batch scraping interface now accurately reflects the 100 URL limit per batch call, preventing confusion and ensuring you can plan your scraping operations correctly.
Improved session management security
FixedAccount deletion now properly revokes all session tokens before bulk deletion, ensuring complete account cleanup and preventing unauthorized access after deletion.
Enhanced rate limit detection
FixedThe system now correctly identifies rate-limited responses with short HTML bodies, ensuring appropriate escalation and preventing misclassification of blocked requests.
Fixed billing deposit safeguards
FixedDeposits exceeding the maximum limit now trigger automatic refunds and block credit grants, preventing accidental overcharges and maintaining billing integrity.
Resolved session status filtering
FixedExpired sessions are now correctly identified and filtered in the admin interface, providing accurate session management and preventing confusion about active sessions.
Fixed webhook URL validation timing
FixedWebhook URLs are now validated immediately before delivery, preventing DNS rebinding attacks that could occur between creation and delivery time.
Improved webhook race condition handling
FixedStripe webhook events that arrive before database commits now trigger proper error responses, ensuring reliable credit granting and preventing data inconsistencies.
General bug fixes and improvements
FixedVarious internal stability enhancements and performance optimizations have been implemented to provide a more reliable scraping experience.
Enhanced Reliability and Security
General bug fixes and improvements
ImprovedPlus 17 internal improvements for better reliability and performance.
Expanded proxy coverage
ImprovedGeographic proxy targeting now supports over 30 additional country code top-level domains, providing better coverage for international scraping needs. This enables more precise location targeting for your proxy requests across a wider range of countries.
Legacy key display improved
FixedLegacy API keys with empty prefixes now show a meaningful 'sk_live_' prefix instead of appearing as 16 bullet dots. This makes it easier to identify and manage older credentials in the dashboard.
API source filtering expanded
FixedThe API filter on the usage page now includes SDK and ecosystem sources like python-sdk, node-sdk, mcp-server, n8n-node, and browser-ext. This provides a complete view of all non-playground usage patterns in your account.
Amazon seller price extraction
FixedAmazon product pages with multiple sellers now extract price data directly from variant olp slot information, inline text, and script offer data. This includes new seller counts, lowest prices, and used item counts without requiring additional API calls.
Credential panel key prefix
FixedThe dashboard credentials panel now correctly displays the actual key prefix from the API response instead of constructing it from UUIDs. This ensures accurate representation of your API keys in the interface.
Improved backup error handling
FixedBackup processes now correctly handle nested command patterns in error messages, preventing incomplete or malformed alert notifications. This ensures you receive accurate and complete failure notifications when backup operations encounter issues.
Enhanced webhook reliability
FixedWebhook retry mechanisms now properly manage loading states during recursive operations, preventing UI inconsistencies and ensuring reliable delivery of webhook notifications. This provides more predictable behavior when handling failed webhook deliveries.
Better content extraction
FixedText extraction from web pages now includes additional safeguards against missing attributes, preventing errors when parsing complex HTML structures. This results in more reliable content extraction for your scraping operations.
Improved dashboard filtering
FixedAPI source filtering in the dashboard now correctly excludes crawl and batch jobs, providing more accurate job categorization and filtering options. This helps you better organize and view your scraping jobs by source type.
Enhanced image blocking
FixedImage blocking settings now properly apply to additional domains including booking.com and instagram.com, giving you more control over bandwidth usage and page rendering for these specific use cases.
Better credential display
FixedLegacy API keys now display with appropriate prefixes, preventing confusion about key types and ensuring you can easily identify your credentials. This improves the user experience when managing multiple API keys.
R2 backup optimization
FixedBackup operations to R2 storage now include performance optimizations and proper bucket handling, preventing upload failures due to permission issues. This ensures more reliable and efficient backup operations to your R2 storage.
R2 storage protection
FixedBackup operations now include a hard storage limit to prevent unexpected billing overages on R2 storage. This provides better cost control while maintaining reliable backup functionality.
Browser pool compatibility
FixedBrowser pool configuration now supports legacy environment variable names, ensuring compatibility with existing setups while transitioning to new configuration standards. This prevents disruptions when updating your environment configuration.
Secure credential storage
SecurityCredentials are now handled more securely during backup operations by using environment variables instead of writing plaintext credentials to disk. This eliminates potential security vulnerabilities while maintaining the same functionality for your backup workflows.
Enhanced Reliability & Performance
Expanded ad/tracker blocking
ImprovedAdded domain-based proxy bandwidth blocking for ads and trackers, including 65 new domains like analytics services, ad CDNs, and consent managers, reducing unnecessary data transfer and improving scraping efficiency.
Better resource filtering accuracy
ImprovedFixed domain blocking logic to properly handle URLs with user credentials and URL fragments, ensuring blocked domains like ad networks and trackers are correctly identified and filtered regardless of URL format.
Increased billing limits
ImprovedRaised auto-recharge runtime cap from $1,000 to $2,000 and deposit cap to $2,000 to match frontend pack offerings, eliminating validation errors for users setting higher billing thresholds.
Enhanced cache performance
ImprovedIncreased cache TTL to 60 minutes and optimized browser configuration loading, reducing redundant network calls and improving overall API response times for repeated requests.
Redesigned landing page
ImprovedLaunched a redesigned /best-web-scraping-api landing page featuring a 45° ASCII benchmark table, canvas ASCII background, and visual ranked cards with animated progress indicators for better user engagement.
Added 3D animation feature
ImprovedIntroduced a new 3D rolling cubes animation component using pure CSS 3D transforms and requestAnimationFrame, replacing the previous CardStream component in the BenchmarkHero section for a more dynamic visual experience.
General bug fixes and improvements
ImprovedPlus 6 internal improvements for better reliability and performance.
Automatic API key recovery
FixedThe system now automatically retries fetchBatch and fetchWebhookLog operations when encountering stale API keys, transparently handling key rotation without requiring manual intervention from users.
Enhanced dashboard key management
FixedFixed key prefix display in CredentialsPanel and improved LiveTerminal functionality by properly fetching decrypted key values, ensuring users can accurately manage and use their API credentials.
Improved proxy security headers
FixedEnhanced scrape route security by prioritizing Cloudflare's cf-connecting-ip header over client-supplied x-forwarded-for, making it harder for malicious actors to spoof their origin in proxy requests.
Batch API Key Fixes
General bug fixes and improvements
ImprovedPlus 29 internal improvements for better reliability and performance.
Batch API key resolution
FixedBatch proxy routes now accept X-Key-Id as an alternative to X-API-Key, allowing the server to resolve plaintext keys on demand instead of relying on sessionStorage caching.
API key decryption
FixedAdded on-demand API key decryption for batch operations, preventing fallback to truncated UUIDs when keys aren't cached in sessionStorage.
Batch request formatting
FixedCorrected batch form submission to use 'urls' field instead of 'requests', ensuring proper API request formatting for all dashboard batch submissions.
Enhanced Security and Reliability
Faster worker processing
ImprovedWorker job queue processing is now more responsive with a 10-second timeout limit, preventing indefinite blocking and ensuring tasks complete in a timely manner. This improvement reduces delays in your scraping workflows and improves overall system throughput.
Expanded monitoring coverage
ImprovedThe system now actively monitors idle database connections, alerting you when connection counts exceed safe thresholds. This proactive monitoring helps prevent performance degradation and ensures your scraping operations maintain optimal database performance.
Enhanced system stability
ImprovedCritical system components now handle missing environment configurations gracefully, preventing unexpected failures during deployment or configuration changes. This improvement ensures your scraping infrastructure remains operational even when certain optional services are temporarily unavailable.
Better error handling
ImprovedSystem health checks now provide more accurate status reporting by properly handling missing service configurations. This improvement gives you clearer visibility into system health and helps you quickly identify and resolve infrastructure issues.
Optimized resource usage
ImprovedThe system now uses memory more efficiently during high-load scenarios, preventing performance degradation during intensive scraping operations. This optimization ensures consistent performance even when processing large volumes of data or handling multiple concurrent requests.
General bug fixes and improvements
FixedVarious minor issues have been resolved to improve overall system reliability and performance. These fixes address edge cases and improve the robustness of core scraping functionality.
Improved image upload reliability
FixedImage processing now correctly handles various file formats and color modes during uploads. Problematic image modes are automatically converted before saving, preventing cryptic errors and ensuring consistent behavior across JPEG, PNG, and WEBP uploads.
Enhanced browser resource management
FixedBrowser pool operations now properly synchronize access to shared resources, preventing potential conflicts when multiple processes interact with browser instances. This ensures more stable and predictable behavior during concurrent scraping operations.
Fixed credit adjustment transaction safety
FixedAdmin credit adjustments now use advisory locks to prevent race conditions during balance updates. This ensures accurate credit tracking and prevents potential inconsistencies when multiple administrators modify account balances simultaneously.
Resolved admin rate limiting reliability
FixedRate limiting for admin operations now properly handles Redis connection failures by failing closed rather than allowing unlimited access. This maintains security boundaries even during infrastructure issues.
Enhanced error handling for admin operations
FixedAudit log failures during privilege changes now generate proper error notifications instead of silent warnings. This ensures critical security events are properly tracked and administrators are alerted to potential issues.
Strengthened admin account protections
SecuritySoft-deleted and fraud-flagged admin accounts are now properly blocked from accessing sensitive features including blog management, proxy services, and API endpoints. This closes potential security gaps where disabled accounts could still perform privileged actions.
Enhanced Admin Controls & Security
Admin rate limiting added
NewAdministrators can now adjust user credits up to 10 times per minute, preventing abuse of the credit adjustment system. This rate limit is enforced per admin user and provides better control over credit management operations.
Audit trail for user changes
NewAll admin user modifications including credit adjustments, admin status changes, and fraud level updates are now recorded in an audit log. This provides complete visibility into who made changes and when, improving accountability.
Optimize dashboard performance
ImprovedAnalytics widgets now load lazily using Intersection Observer, deferring data fetching until widgets scroll into view. This improves initial page load times for GeoDistribution, ErrorBreakdown, HourlyPatterns, and TopEndpoints widgets.
Enhance scraping comparison page
ImprovedThe best-web-scraping-api page now features smooth scroll animations and improved spacing. Section labels include primary-colored numbers and line separators for better visual hierarchy and readability.
General bug fixes and improvements
ImprovedPlus 16 internal improvements for better reliability and performance.
Better monitoring data safety
ImprovedLog data and LLM outputs are now properly sanitized before processing to prevent prompt injection attacks. This includes wrapping domain health data in XML tags and sanitizing raw log lines, making monitoring more secure.
Correct signup bonus display
FixedThe welcome email and verification screen now show the actual credit amount awarded instead of always displaying $1.00. Users receiving reduced bonuses will see the correct amount in both surfaces.
Fix credit amount precision
FixedVerify code responses now return microcents instead of millicents for credits_awarded, making it consistent with all other balance fields in the API. This ensures accurate credit tracking across the platform.
Improve welcome email accuracy
FixedThe welcome email now uses the correct API keys route and removes false fee warnings. The message focuses on getting started quickly with a clear value proposition instead of outdated pricing information.
Prevent sidebar navigation issues
FixedThe cookie consent banner no longer intercepts sidebar navigation clicks on dashboard routes. Users can now access Billing, Settings, and Herald sections without banner interference in fresh sessions.
Fix minimum deposit validation
FixedEntering $0 in the custom deposit amount now shows the minimum deposit error message instead of silently disabling the Add button. Users receive clear feedback about the $10 minimum requirement.
Stop low-balance alerts for free users
FixedUsers with only signup bonus credits no longer receive low-balance alerts. The system now checks for paid deposits before sending balance warnings, preventing unnecessary notifications for free-credit-only accounts.
Validate API key name length
FixedAPI key creation now enforces the 100-character limit at the schema level, preventing PostgreSQL string-too-long errors. Users receive immediate feedback instead of HTTP 500 errors when creating long key names.
Fixed credit balance accuracy
FixedCredit balance calculations now happen directly in SQL to avoid precision loss with large numbers. This ensures accurate balance tracking even for high-volume users and prevents rounding errors in financial calculations.
Prevent admin self-modification
FixedAdministrators can no longer modify their own admin status through the user management interface. This prevents accidental self-lockout and potential privilege escalation scenarios.
Fixed webhook delivery reliability
FixedWebhook delivery now uses isolated database sessions per delivery attempt, preventing connection issues during retry operations. This improves the reliability of webhook notifications for your integrations.
Fixed broadcast scheduling
FixedBroadcasts scheduled for later delivery now properly trigger the send operation. The system correctly handles both immediate and scheduled broadcast delivery, ensuring your messages reach their intended recipients.
Improved fraud detection accuracy
FixedThe fraud suspect query now uses last seen timestamps instead of random UUID ordering, ensuring high-risk users are properly surfaced. This provides more accurate fraud detection and better prioritization of suspicious accounts.
Fixed admin user detail display
FixedUser detail pages now correctly display fraud response levels and credit adjustment reasons. The interface properly handles all user fields and provides accurate information for admin decision-making.
Fixed broadcast recipient targeting
FixedBroadcast resend operations now correctly target the intended audience without requiring manual recipient specification. The system automatically handles audience targeting based on subscription status.
Enhanced admin authentication
SecurityAdmin authentication now includes audience validation and shorter token expiration (15 minutes instead of 1 hour). This provides stronger security for admin operations and reduces the window for potential token misuse.
Dashboard Enhancements & Billing Fixes
New Job History Dashboard
NewA comprehensive job history page is now available at /dashboard/history, allowing users to browse all past jobs from PostgreSQL with advanced search, filtering by URL/status/mode, pagination, and response viewing capabilities. The sidebar navigation has been updated to include this new History entry
Dashboard UI polish
ImprovedInternal refinements to the dashboard layout and component structure for improved consistency and maintainability.
Faster Crawl Job Reconciliation
ImprovedJob status counting operations now use batch Redis MGET commands instead of sequential GET calls, reducing Redis round-trips from O(n) to O(1) per reconciliation. This optimization cuts total GET operations for a crawl from O(n²) to O(n), significantly improving performance for large-scale scraping
Optimized Rate Limiting
ImprovedRate limit checks now occur before expensive network operations during URL discovery, preventing over-limit API keys from triggering unnecessary sitemap or start-page requests. This change reduces wasted resources and ensures users receive immediate 429 responses when they exceed their rate limits.
Enhanced API Key Management
ImprovedAPI key scope fallbacks now include billing permissions by default, ensuring consistent access control across all API key operations. This change improves security and prevents unexpected permission issues when working with billing-related API endpoints.
General bug fixes and improvements
ImprovedPlus 5 internal improvements for better reliability and performance.
Enhanced Billing Alerts
FixedLow balance alerts and auto-recharge triggers are now properly wired into both inline/sync and async queued billing paths. The system now correctly handles balance checks and sends timely notifications when account balances run low, preventing unexpected service interruptions during active scraping
Accurate Spending Display
FixedSpending by Type charts now show accurate costs instead of estimated values based on request counts. The Recent Activity section maintains consistent height even when empty, and fallback messages display correctly when per-type spend data is unavailable, providing users with reliable billing informa
Improved Error Handling
FixedThe system now properly handles structured error metadata from workers, accepting dictionary error formats in CrawlPageResult instead of raising validation errors. This enhancement provides more detailed error information for debugging and improves the reliability of error reporting in the dashboard
Refined Deposit Interface
FixedDeposit pack cards have been consolidated into a unified flat-row layout, removing the previous split between Regular and Smart deposit sections. This streamlined design provides a cleaner, more consistent user experience when managing account deposits and viewing available payment options.
Optimized Amazon Timeout Settings
FixedAmazon Australia timeout settings have been aligned with other Amazon locales, using consistent max_wait_ms and nav_timeout_ms values across all regional endpoints. This standardization ensures reliable scraping performance and prevents timeout-related issues when working with Australian Amazon site
Auto Top-Up & Smart Credits
Auto top-up — never run out of credits
NewSet a balance threshold and AlterLab automatically tops up your account when you dip below it. Choose your trigger amount, top-up pack, and preferred payment method — it just works in the background. Configure it from the new billing page.
Smart deposit packs with volume bonuses
NewDeposit packs now come with graduated volume bonuses — the more you deposit, the more free credits you receive. Tier badges show your current tier and exactly how much extra you unlock at each level.
Redesigned billing page
NewThe billing page has been rebuilt as a single-page layout with a new tier rail, combined transaction and events history, receipt tracking, and a live RecentActivity feed — all without needing to switch tabs.
Low-balance email alerts
NewGet an email notification before your balance hits zero. Alerts fire at configurable thresholds so you can top up before any scraping jobs are affected.
Smart payment method management
NewThe platform now automatically promotes your oldest payment method as default when no default is set, and keeps auto-recharge synced when you change or remove payment methods.
Billing scope on all API keys
ImprovedAll API keys now include the billing scope by default. Existing keys have been backfilled. This unlocks balance and auto-recharge endpoints for programmatic billing management.
Audit log for auto-recharge events
ImprovedAuto-recharge enable, disable, and delete actions are now recorded in the billing audit log. Recharge attempts track the full lifecycle — pending, success, decline, and idempotent skips.
Volume bonus grants in transaction history
ImprovedVolume bonus credits granted at deposit time now appear as a separate line in your transaction history and on the deposit success page, so you can always see exactly what you received.
General bug fixes and improvements
ImprovedPlus 30+ additional fixes across billing, accessibility, rate limiting, and dashboard reliability.
Amazon Australia timeout alignment
FixedScraping timeouts for amazon.com.au were lower than other Amazon locale configs, causing more frequent failures on large product pages. Now aligned with amazon.com, .co.uk, and .de.
Auto-recharge reliability hardening
FixedFixed a suite of edge cases: atomic single-UPDATE for backoff state, NULL sentinel for pending recharge rows, partial unique index on payment intent IDs to prevent duplicate audit rows, and proper asyncio.to_thread wrapping for Stripe calls.
Auth cookies blocked from learned cookie storage
SecurityThe Penetrator anti-bot tier's learned cookie storage now filters out authentication and session cookies. This prevents accidental credential leakage across domains in multi-tenant environments.
Platform Improvements
Refined onboarding flow
ImprovedReduced step 1 to step 2 drop-off by preventing accidental exits through disabled click-outside and Escape key dismissal. Moved the skip button to the bottom with de-emphasized text and added value proposition subtext to guide users through the process.
General bug fixes and improvements
ImprovedPlus 27 internal improvements for better reliability and performance.
Dashboard polling optimization
ImprovedDashboard polling interval reduced from 5 seconds to 15 seconds and now pauses when browser tabs are hidden. This reduces unnecessary network requests while maintaining real-time updates when actively viewing the dashboard.
Resolved blog SEO issues
FixedFixed soft 404 error flagged by Google Search Console on the blog index page. The issue was caused by empty heading states when no posts were found, which has been corrected to properly display blog content.
Enhanced billing transparency
FixedCredit history now displays amounts in dollars instead of raw microcents, making transaction values easier to understand. Grant-type transactions are also included in credit history, and pagination has been added to recent activity for better navigation.
Secure promo notifications
FixedBroadcast promo notifications no longer expose promo codes in notification bodies, preventing unintended code sharing. User-targeted promos still include codes only visible to the intended recipient, with expiration times properly synchronized.
Complete audit action labels
FixedAll audit action values now have corresponding labels and icons defined, ensuring consistent display throughout the platform. This resolves missing visual indicators in audit logs and activity tracking.
Blocked demo bot traffic
SecurityImplemented edge-level protection that blocks unauthorized POST requests to demo endpoints and rate limits demo traffic to 5 requests per 10 seconds per IP. This eliminates millions of bot requests daily that previously overwhelmed system resources.
Login location tracking
SecurityYour account's login history now shows the city and country for each sign-in, letting you spot unfamiliar access at a glance. Location data is geo-resolved from the login IP and appears in the Login History tab under Settings.
Stability & Performance
General bug fixes and improvements
ImprovedThis release includes 2 internal improvements for better reliability and performance.
Enhanced Demo Security & Challenge Solving
Automated challenge solving
NewEnhanced automated handling of interactive challenges including modern verification systems. The platform now automatically processes complex verification steps and caches authentication tokens for improved success rates.
Updated demo documentation
ImprovedRevised endpoint documentation to accurately reflect current scraping tier capabilities. Users now have clear guidance on demo limitations and upgraded features available in production tiers.
General bug fixes and improvements
ImprovedPlus 7 internal improvements for better reliability and performance.
Strengthened demo rate limiting
SecurityAdded global rate limiting to prevent distributed abuse of demo endpoints. The system now tracks total demo requests across all IPs, ensuring fair access while maintaining protection against coordinated scraping attempts.
Enhanced Scraping Performance
Automated review validation
NewA new automated system now evaluates pending review items against brand guidelines using advanced analysis. This ensures consistent quality standards across all submissions while providing clear reasoning for approval or rejection decisions, streamlining the review workflow.
Optimized e-commerce extraction
ImprovedExtraction accuracy for sofiaman.ro has been significantly improved with theme-specific selectors that match the actual DOM structure. The updated selectors replace generic targeting with precise element identification, resulting in more reliable data capture from Shopify-powered stores.
Unified demo experience
ImprovedThe demo environment now uses the same components as the main dashboard, providing a consistent experience across all interfaces. This unification eliminates discrepancies between demo and production environments, making it easier to test and validate scraping workflows.
General bug fixes and improvements
ImprovedPlus 8 internal improvements for better reliability and performance.
Enhanced Analytics & Attribution
Channel ROI Dashboard
NewNew admin dashboard provides detailed ROI tracking with per-channel metrics including ROI percentage, cost-per-acquisition, and signups per hour. View comprehensive activity ledgers with create, edit, and delete capabilities through an intuitive modal interface.
Attribution Analytics
NewCapture and analyze attribution data from UTM parameters, referrers, and landing pages on first visit. Track user acquisition sources through enhanced signup flows and OAuth integration, with data stored in first-party cookies and session storage.
SDK Ecosystem Headers
NewPython and Node SDKs now automatically include ecosystem identification headers in API requests. Track usage patterns across different integration methods including Python SDK, Node SDK, MCP server, n8n node, and browser extensions.
Pathfinder Analytics API
NewAccess comprehensive analytics through new admin endpoints covering channels, cohorts, funnels, and ecosystem attribution. Query materialized views for channel performance, cohort retention, and funnel conversion metrics with real-time data refresh capabilities.
Weekly Digest Reports
NewReceive automated weekly insights reports aggregating key metrics from channel performance, cohort retention, funnel conversion, and ecosystem attribution. Personalized reports delivered through the existing notification system with frequency controls.
Channel costs & ROI dashboard
NewNew admin dashboard provides detailed ROI calculations, cost-per-acquisition metrics, and activity ledger with full CRUD operations. Track total costs, revenue, signups, and effort across all channels with date range filtering.
Pathfinder analytics endpoints
NewComprehensive admin analytics API with endpoints for channels, cohorts, funnels, ecosystem attribution, and overview summaries. Includes materialized view support for fast query performance and view refresh capabilities.
Ecosystem attribution tracking
NewSDKs now automatically send ecosystem source headers identifying integration tools like Python SDK, Node SDK, MCP server, and n8n. Attribution data is captured during signup and OAuth flows for better understanding of user acquisition channels.
Weekly Pathfinder digest
NewAutomated weekly task that queries all Pathfinder analytics views and delivers structured insights reports via Herald. Get regular updates on channel performance, cohort retention, funnel conversion, and ecosystem attribution without manual queries.
Enhanced Event Tracking
ImprovedNew event service provides robust behavioral tracking with Redis batching and background flush operations. Capture key user actions including signups, credit topups, subscription cancellations, and API key creations without blocking primary operations.
Accessibility Improvements
ImprovedModal dialogs now feature proper accessibility support including role attributes, focus management, and keyboard navigation. Enhanced user experience for cost management and activity tracking interfaces.
General bug fixes and improvements
ImprovedPlus 27 internal improvements for better reliability and performance.
Improved HTML scraping accuracy
FixedEnhanced content scoping now properly handles image-heavy pages and domain-specific CSS selectors. Fixes issues with Readability stripping CSS classes and ensures promotional pages with images are correctly identified as valuable content.
Enhanced Scraping Reliability
Expanded Response Data
NewScrape responses now include optional warning and content quality fields, providing users with additional context about data reliability and potential issues during extraction.
General bug fixes and improvements
ImprovedPlus 9 internal improvements for better reliability and performance.
Revenue tracking expanded
ImprovedPlatform balance information is now included in the Revenue section of monitoring reports, giving you clearer visibility into financial metrics and platform health.
Geolocation security enhanced
ImprovedIP geolocation services now use HTTPS by default through a more secure provider, ensuring all location data collection meets modern security standards and protects user privacy.
Refined Content Extraction
ImprovedBanner classification logic has been adjusted to prevent misclassification of promotional images as hero content. This change improves accuracy for e-commerce sites with complex layout patterns.
Fixed stuck crawl button
FixedThe crawl Run button will no longer remain disabled after consecutive API failures. The system now tracks consecutive poll failures and automatically resets after 3 failed attempts, ensuring you can retry crawls without manual intervention.
Improved SDK validation
FixedThe Python and Node SDKs now validate section_filter parameters on the client side, catching typos and type errors before they reach the API. This prevents common configuration mistakes and provides immediate feedback during development.
Cleaner text extraction
FixedExtracted article text now has less boilerplate content like navigation, headers, footers, and aside elements removed. The improved cleaning process provides more focused content by stripping residual elements that Readability's heuristics might miss.
Accurate image URL parsing
FixedImage URLs containing commas are now parsed correctly from srcset attributes. The improved parser preserves commas embedded in URLs for services like Cloudinary and Shopify, preventing broken image links in extracted content.
Better content scoping
FixedYou can now remove specific elements like navigation from scoped content using the new remove_selectors option. This is particularly useful for homepage scraping where the main content wrapper includes unwanted navigation elements.
Complete content tree traversal
FixedContent containers rejected by the classifier now retain their valid child elements like paragraphs, lists, and headings. This prevents the loss of legitimate content that happens to be inside a container the classifier deemed non-content.
Enhanced lazy image loading
FixedThe system now resolves image sources from common lazy-loading patterns including data-lazy-src, data-original, data-image, srcset, data-srcset, and picture/source elements. This ensures images from Shopify themes and other lazy-loaded content are properly extracted.
Better hero section detection
FixedHero classification now recognizes carousel, slider, swiper, and slideshow elements in addition to traditional hero, banner, jumbotron, and masthead classes. This improves detection of main banner sections on e-commerce sites and modern web designs.
Fixed quickstart documentation
FixedThe quickstart hub page is now accessible, resolving the previous 404 error. This provides a proper entry point for new users getting started with the platform.
Enhanced SDK scrolling options
FixedThe Python and Node SDKs now support scroll_to_load and scroll_count parameters for handling infinite scroll content. This enables more comprehensive scraping of pages that load additional content as you scroll.
Discord report accuracy fixed
FixedLog-monitor Discord reports now display all sections consistently, including Top Domains, API Activity, Recent Jobs, Active Users, Security, and Issues. No sections are skipped based on conditions.
Top-ups reporting corrected
FixedTop-up notifications in Discord now filter by credit type instead of amount thresholds, preventing false alerts from free trial grants and refunds while accurately tracking genuine top-ups.
New signup notifications added
FixedDiscord reports now display users_new_1h when there are new signups in the past hour, providing real-time visibility into platform growth and user acquisition trends.
Failure rate calculations corrected
FixedPlatform failure rate metrics now exclude user-gated failures from tier budget caps, providing more accurate all-time failure statistics that reflect actual platform reliability rather than user limitations.
Complete Scrape Response Schema
FixedThe scrape response now includes the missing note field, ensuring consistency with the unified response format. This alignment prevents data gaps when processing results through the Node SDK.
Improved Interface Flow
FixedThe cookie banner now appears as a floating card instead of sticky, creating a cleaner user experience. The sticky CTA is hidden until the cookie banner is dismissed, preventing interface conflicts.
Strengthened SSRF protection
SecuritySecurity improvements block IPv4-mapped IPv6 addresses and bracketed IPv6 formats that could bypass SSRF protection in demo routes. This closes potential attack vectors while maintaining legitimate functionality.
Enhanced Scraping Reliability
SDK configuration validation
ImprovedThe SDK now validates section filter parameters before API requests, catching typos and type errors in min_content_blocks, exclude_content_types, and content_only options. This prevents failed requests due to configuration mistakes and provides immediate feedback during development.
General bug fixes and improvements
ImprovedPlus 3 internal improvements for better reliability and performance.
Better Shopify carousel detection
ImprovedCarousel detection on Shopify sites now uses a more reliable two-pass strategy. The system first looks for data-section-type attributes, which Shopify themes use to annotate major sections like slideshows, providing higher confidence in identifying the primary carousel.
Carousel hero classification
FixedHero image classification now correctly identifies only the primary carousel container instead of tagging every image in all carousels. This prevents excessive hero tags on pages with multiple carousels and improves image categorization accuracy.
Text extraction cleanup
FixedText extraction now automatically removes navigation, header, footer, and aside elements after Readability processing. This eliminates residual boilerplate content that previously appeared in extracted text, delivering cleaner article content and more accurate text analysis.
Playground button responsiveness
FixedThe playground interface now properly resets after API failures, preventing the Run button from getting stuck in a disabled state. The system tracks consecutive poll failures and automatically bails after 3 attempts, ensuring the interface remains responsive for subsequent operations.
Fixed key fetch fallback
FixedThe playground now handles cases where keys created in prior sessions or seeded keys don't have cached plaintext, preventing silent failures during crawl operations.
Fixed crawl button stuck state
FixedThe Run button in the playground no longer remains disabled after consecutive API failures, as the system now properly tracks and resets polling states after multiple errors.
Improved content extraction accuracy
FixedLogin and signup patterns no longer strip legitimate standalone content from paywalled sites, preserving important text that was previously removed during extraction.
Optimized scroll parameter handling
FixedThe scroll_count parameter is now only included when scroll_to_load is enabled, reducing unnecessary data in API responses and improving request efficiency.
Enhanced section filter validation
FixedSDKs now validate section_filter parameters against allowed keys and value types, preventing typos and invalid configurations from causing unexpected behavior during scraping operations.
Refined hero image classification
FixedHero image detection now only applies to the primary carousel container, preventing every image in nested carousels from being incorrectly tagged as hero content.
Removed boilerplate from text extraction
FixedNavigation, header, footer, and aside elements are now stripped from extracted text after Readability cleaning, resulting in cleaner content without residual boilerplate elements.
Improved srcset URL parsing
FixedCommas inside URLs in srcset attributes are now preserved correctly, handling Cloudinary transforms and Shopify query parameters that were previously split incorrectly.
Enabled scroll with auto rendering
FixedScroll_to_load functionality now works seamlessly with render_js set to auto, providing more flexibility for scraping sites with dynamic content loading.
Enhanced lazy-loaded image handling
FixedImage source resolution now handles common lazy-loading patterns including data attributes and srcset, improving image extraction from sites using various lazy-loading techniques.
Added section filter to SDKs
FixedPython and Node SDKs now support the section_filter parameter, keeping SDK functionality in sync with the API's SectionFilter model for more precise content extraction.
Enhanced Scraping Reliability
Add content depth events for docs and blog
NewAdd content depth events for docs and blog .
Wire product engagement events in dashboard
NewWire product engagement events in dashboard .
Navigation removal control
NewContent extraction now supports removing navigation elements from scoped content using the new remove_selectors field. This provides cleaner results when scraping homepage content that includes navigation menus within the main content container.
SDK scrolling parameters
ImprovedPython and Node SDKs now support scroll_to_load and scroll_count parameters for JavaScript scraping. This enables automated scrolling for infinite scroll pages and provides better control over dynamic content loading.
General bug fixes and improvements
ImprovedPlus 1 internal improvement for better reliability and performance.
Defer content_only heading-strip until after child promot...
FixedDefer content_only heading-strip until after child promot....
Throw on missing DEMO_TOKEN_SECRET in production
FixedThrow on missing DEMO_TOKEN_SECRET in production .
Include scroll params in cache key
FixedInclude scroll params in cache key .
Use callback refs in useScrollDepth/useTimeOnPage
FixedUse callback refs in useScrollDepth/useTimeOnPage .
Gate FLAG_ICON_PATTERNS on small dimensions
FixedGate FLAG_ICON_PATTERNS on small dimensions .
Add classifier-less fallback for json_v2 section tree (#3...
FixedAdd classifier-less fallback for json_v2 section tree (#3....
Level-aware pruning guard — only preserve h1/h2 headings ...
FixedLevel-aware pruning guard — only preserve h1/h2 headings ....
Unwrap options wrapper in UnifiedScrapeRequest validator ...
FixedUnwrap options wrapper in UnifiedScrapeRequest validator ....
Fallback to original soup when Readability empties sectio...
FixedFallback to original soup when Readability empties sectio....
Scope markdown with playbook content_selectors
FixedScope markdown with playbook content_selectors .
Add leaf-container fallback for json_v2 section tree
FixedAdd leaf-container fallback for json_v2 section tree .
Prune empty leaf sections from json_v2 section tree
FixedPrune empty leaf sections from json_v2 section tree .
JavaScript rendering stability
FixedJavaScript-based scraping now properly handles iframe inclusion, shadow DOM flattening, and custom actions parameters. Requests that previously failed with TypeError errors due to missing function arguments will now execute successfully.
Image URL parsing accuracy
FixedImage source set parsing now correctly handles URLs containing commas, such as Cloudinary transformations and Shopify query parameters. This prevents broken image URLs when extracting responsive images from srcset attributes.
Content classifier accuracy
FixedContent classification no longer skips valid content within containers rejected by the classifier. Text blocks, lists, and headings inside non-content containers are now properly included in the final extraction results.
Lazy-loaded image support
FixedImage extraction now resolves sources from common lazy-loading patterns including data-lazy-src, data-original, data-image, srcset, data-srcset, and picture/source elements. This ensures images from Shopify themes and other lazy-loading implementations are captured correctly.
Hero section detection
FixedHero banner classification now recognizes carousel, slider, and slideshow containers in addition to traditional hero classes. This improves detection of main banner sections on e-commerce sites using modern slideshow implementations.
SSRF protection enhancement
SecuritySecurity measures now block IPv4-mapped IPv6 addresses and bracketed IPv6 formats that could bypass SSRF protection. This closes potential bypass vectors in demo routes while maintaining legitimate access.
Bug Fixes & Stability
Use OIDC trusted publishing for Python and Node SDKs
FixedUse OIDC trusted publishing for Python and Node SDKs.
Replace postMessage wildcard origin with window.location....
FixedReplace postMessage wildcard origin with window.location.....
Echo correlationId in legacy cookie capture responses (#3...
FixedEcho correlationId in legacy cookie capture responses (#3....
Add domain pinning for BYOS cookies in inline fast path (...
FixedAdd domain pinning for BYOS cookies in inline fast path (....
Pass byos_session_domain to T4 escalation call
FixedPass byos_session_domain to T4 escalation call .
Type session-proxy payload as JWTPayload instead of Recor...
FixedType session-proxy payload as JWTPayload instead of Recor....
Guard validate_session against zero-knowledge sessions (#...
FixedGuard validate_session against zero-knowledge sessions (#....
Use windowed Redis counters for scrape bombing detection ...
FixedUse windowed Redis counters for scrape bombing detection ....
Wire BYOS context pool into session invalidation chain (#...
FixedWire BYOS context pool into session invalidation chain (#....
Use HKDF-SHA256 for encryption key derivation
FixedUse HKDF-SHA256 for encryption key derivation .
Add TTL-based expiry to RSA public key cache
FixedAdd TTL-based expiry to RSA public key cache .
Stream session validation response to prevent OOM
FixedStream session validation response to prevent OOM .
Add correlation ID to legacy cookie capture protocol
FixedAdd correlation ID to legacy cookie capture protocol .
Remove dead cookie-parser.ts with duplicate validators (#...
FixedRemove dead cookie-parser.ts with duplicate validators (#....
Replace postMessage wildcard targetOrigin with window.loc...
FixedReplace postMessage wildcard targetOrigin with window.loc....
Workspaces, Auth Hardening, and Promo Codes
Workspace activity and audit logs
NewYour workspace settings now include an Activity tab showing a full audit trail of team actions — invitations, role changes, and configuration updates. Stay informed about everything happening in your workspace.
Workspace stats and team management
NewView workspace usage statistics at a glance with the new stats card. You can also resend invitations, leave workspaces, and set custom avatar URLs directly from settings.
Promo code deep-links
NewShare promo codes via URL — signed-out users are guided through signup with the code pre-filled, and the deposit page automatically applies it. No more copy-pasting promo codes.
Transparent welcome bonus explanation
NewNew users who receive a reduced welcome bonus now see a clear modal explaining why, with an option to unlock the full bonus. No more confusion about varying signup credit amounts.
Improved deposit experience with promos
ImprovedWhen a promo code is active, the deposit page now shows the discount clearly and pre-fills the code from URL parameters. The apply button no longer triggers errors from browser event objects.
General bug fixes and improvements
ImprovedPlus 20 internal improvements including homepage visual polish, SEO structured data enhancements, and blog reliability fixes.
Workspace switching reliability
FixedFixed several issues with workspace switching — balance now refreshes correctly, dialogs close properly before secondary operations, and tab state no longer resets unexpectedly when switching contexts.
Dashboard table readability
FixedAPI Keys and Playground tables no longer truncate columns on smaller screens. Content is fully visible without horizontal scrolling cutting off important data.
Comprehensive auth security hardening
SecurityAdded per-IP and per-email rate limiting to login, OAuth, and verification endpoints. Verification codes are now hashed before storage, and brute-force protection with progressive lockout is active on all auth routes.
OAuth key rotation on token exchange
SecurityAPI keys are now rotated on each OAuth token exchange instead of re-exposing the same key. Localhost redirect URIs are blocked in production, and re-verification emails are sent after email changes.
Session revocation now invalidates JWT
SecurityRevoking a session now properly invalidates the associated JWT token, preventing continued access with stale credentials.
Onboarding Redesign, Lifecycle Emails, and Dashboard Polish
Redesigned onboarding experience
NewNew users now get a streamlined onboarding flow with one-touch API key creation and a guided playground tutorial. Get from signup to your first scrape faster than ever.
Smart lifecycle emails
NewReceive helpful emails at key moments — onboarding tips after signup, integration guides if you're using the playground but haven't connected via API, and re-engagement nudges. All emails include one-click unsubscribe.
Feature discovery cards
NewThe dashboard now highlights features you haven't tried yet. See contextual cards for schedules, monitors, and API integration with code snippets ready to copy.
CAN-SPAM compliant unsubscribe
NewAll platform emails now include HMAC-signed unsubscribe links and a dedicated unsubscribe page, ensuring full CAN-SPAM compliance.
Platform comparison table on pricing
NewThe pricing page now includes a detailed comparison table showing how AlterLab stacks up against alternatives on features, pricing, and capabilities.
Documentation screenshots
NewTen documentation pages now include interactive screenshots showing real dashboard UI, making it easier to follow along with guides and tutorials.
Credits renamed to Requests
ImprovedThe entire platform now uses consistent 'requests' terminology instead of 'credits', making pricing and usage clearer. All pages, components, and docs have been updated.
Dashboard visual consistency
ImprovedStandardized balance formatting, latency display, and error states across the entire dashboard. Stat cards use smart formatting, and billing shows consistent pricing everywhere.
Billing page improvements
ImprovedRecent Activity now supports Load More pagination, the deposit success page has a countdown auto-redirect, and pricing displays are unified across all billing sections.
General bug fixes and improvements
ImprovedPlus 30 internal improvements including mobile sidebar fixes, SEO title rewrites, cookie consent positioning, webhook navigation, and blog cover image enhancements.
Usage page loading reliability
FixedFixed an issue where the usage page could get permanently stuck on a skeleton loading state. The page now loads reliably every time.
Correct pricing claims
FixedFixed inaccurate competitor pricing claims across comparison and marketing pages. All pricing data now reflects current published rates.
Auth and signup improvements
FixedThe signin page now shows email/password form and Microsoft OAuth. Check-email rate limit raised to 10/hour with proper 429 error surfacing. OAuth errors redirect with toast notifications.
Competitor Comparisons, Documentation, and Mobile UX
Competitor comparison pages
NewNew /vs pages let you compare AlterLab against specific alternatives side-by-side, with feature matrices, pricing calculators, and migration guides. Find the right tool for your use case.
Comprehensive API tutorials
NewNew step-by-step tutorials covering real-time monitoring dashboards, WebSocket updates, AI agent and MCP integration, multi-page crawling, price monitoring pipelines, and cloud storage export.
Migration guides from competitors
NewDedicated migration guides help you switch from ScraperAPI, ScrapingBee, and Apify with code examples showing equivalent AlterLab API calls for each platform's features.
Better mobile touch targets
ImprovedAll interactive elements now meet the 44px minimum touch target size, making the platform easier to use on phones and tablets.
SDK docs page clickable headers
ImprovedPython and Node.js section headers on the SDK documentation page are now clickable links, making it easier to share direct references to specific SDK sections.
General bug fixes and improvements
ImprovedPlus 12 internal improvements including CI permissions, accessibility attributes, blog CTA placement, and pricing page sticky navigation.
Signup flow improvements
FixedDemo rate limits now show a signup CTA instead of a generic error. Comparison pages include signup funnels, and OAuth errors redirect back to the originating page with a notification.
Eliminated non-responsive click areas
FixedFixed several dashboard elements that appeared interactive but did nothing when clicked. All clickable-looking elements now respond or have been restyled.
Demo Route Security Patch
Secured demo API routes
SecurityFixed an issue where demo API routes could be accessed by unauthorized external requests. Demo endpoints now properly enforce access restrictions.
Rate Limiting, Theme Toggle, and Billing Cleanup
Per-API-key rate limiting
NewScrape and crawl endpoints now enforce per-API-key rate limits. This protects your account from accidental overuse and ensures fair resource allocation across all users.
System theme preference support
NewYou can now choose between light, dark, or system theme in the dashboard. The new 3-way toggle automatically follows your OS preference when set to system.
Pay-as-you-go billing migration
ImprovedThe billing system has been fully migrated to pay-as-you-go. All references to legacy subscription plans have been removed, and the dashboard now shows balance-based account tiers throughout.
Reply-to on transactional emails
ImprovedAll transactional emails from AlterLab now include a reply-to address, so you can reply directly to any email you receive from us.
Playground double-submit prevention
FixedFixed an issue in the playground where rapidly clicking the Run button could fire multiple simultaneous requests. The button is now debounced and navigating away aborts in-flight requests.
Verification email greeting fix
FixedFixed an issue where verification emails showed an empty name in the greeting. Emails now use a proper placeholder when no name is available.
Batch Scraping Redesign, Cloud Storage Export, and Dashboard Polish
Redesigned batch scraping dashboard
NewThe batch scraping interface has been completely redesigned with a cleaner layout, real-time SSE progress streaming, content preview tabs, and a full result viewer. You can now clone batches, re-run failed items, and import URLs from CSV/TSV/JSON files.
Batch templates and analytics
NewYou can now save and load batch configuration templates for repeated scraping tasks. A new analytics dashboard shows success rates, cost trends, and domain breakdown across your batch history.
Cloud storage export
NewExport scrape results directly to your cloud storage. Configure S3, GCS, or Azure connections in the new Storage Integrations settings page, then attach them to batch and schedule jobs.
Change detection monitoring
NewA new Monitoring page lets you track changes on web pages over time. Set up monitors to detect when page content changes and get notified of differences.
Schedule bulk operations and analytics
NewYou can now pause, resume, or delete multiple schedules at once. A new analytics dashboard shows schedule health rankings and credit cost forecasts. Search, filter, sort, and toggle between list and grid views.
Manual schedule trigger
NewYou can now manually trigger a scheduled scrape with the new 'Run Now' button, without waiting for the next cron interval.
Duplicate schedules and batches
NewYou can now clone any existing schedule or batch configuration with one click, making it easy to create variations of your scraping setups.
Itemized cost calculator
NewBatch and schedule pages now show an itemized cost calculator so you can estimate costs before running jobs.
Account deletion option
NewYou can now delete your account from the Settings page. A new danger zone section provides the option with clear confirmation steps.
Rename and regenerate API keys
NewYou can now rename your API keys for better organization and regenerate them if compromised, without deleting and recreating.
Profile editing in settings
NewA new profile tab in Settings lets you update your name and other profile information directly from the dashboard.
Dashboard terminal
NewA new terminal component in the dashboard lets you interact with the API using CLI-style commands for jobs, stats, analysis, transactions, and data export.
Webhook retry with delivery log
NewWebhooks now automatically retry with exponential backoff on delivery failure. A delivery log shows the status of each attempt.
Password management restored
FixedFixed an issue where the password change page was inaccessible due to missing API routes. Password management now works correctly.
API key values no longer exposed
FixedFixed an issue where the API key list endpoint returned full key values. Keys are now properly masked in list responses.
Balance display improvements
FixedFixed several display issues with balance and billing: thousand separators now appear on all balance displays, sub-cent precision is hidden when zero, and deposit validation works correctly on the client side.
Mobile playground overflow fixed
FixedFixed an issue where the playground page had horizontal overflow on mobile devices, making the response panel inaccessible.
Contact form visible on mobile
FixedFixed the contact form being hidden on mobile viewports. The form is now fully accessible on all screen sizes.
OAuth sign-in loop resolved
FixedFixed an issue where some OAuth users experienced a sign-in loop caused by a database table mismatch. OAuth login now works reliably.
Spend counter accuracy improved
FixedFixed spend counter drift that could cause inaccurate usage reporting and billing sync timeouts.
Crawl API, Workflow Studio, and Forgot Password
Crawl API launched
NewYou can now crawl entire websites with the new POST /v1/crawl endpoint. Progressive depth crawling discovers and scrapes pages automatically, respecting robots.txt. Supports up to 100,000 pages and 50 levels of depth, with billing per page.
Crawl support in SDKs
NewBoth the Python and Node.js SDKs now include crawl methods. Start a crawl, check status, and retrieve results programmatically with the same familiar SDK interface.
Crawl playground and demo
NewThe playground now supports crawl mode with a visual config panel, depth slider, and animated multi-page results. The homepage demo shows live page discovery in action.
Crawl billing and cost tracking
NewCrawl costs appear in your usage breakdown and transaction history. The crawl status page shows per-page cost breakdowns, session totals, and automatic refunds for failed pages.
Visual workflow editor
NewA new visual workflow editor lets you build scraping automations on a drag-and-drop React Flow canvas. Connect scrape, HTTP request, webhook, email, and download nodes to create complex workflows.
Workflow templates gallery
NewA curated gallery of workflow templates helps you get started quickly. Browse pre-built templates and customize them for your use case.
Workflow run dashboard
NewMonitor your workflow executions in real-time with the run dashboard. View execution history, retry failed runs, and track progress.
Forgot password flow
NewYou can now reset your password via email. The new forgot password page and backend flow lets you recover access to your account securely.
Scraping benchmarks page
NewA new benchmarks page shows real performance data and comparisons, so you can see how AlterLab performs across different website types and protection levels.
Docs available as markdown
NewDocumentation pages are now served as markdown for AI agent consumption, along with a public OpenAPI spec and AI plugin manifest. This makes it easier for LLM-based tools to work with the AlterLab API.
Usage log pagination fixed
FixedFixed an issue where usage logs paginated by raw database rows instead of top-level entries, causing confusing page counts when crawl jobs were present.
Bug Fix Release
General stability improvements
ImprovedThis release includes internal improvements for better reliability and performance.
Crawl API, Billing Hardening, and Blog Enhancements
Crawl API with playground
NewThe Crawl API is now live with POST/GET/DELETE endpoints, progressive depth crawling, and full playground support. Crawl results include per-page cost breakdowns and automatic refunds for failures.
Crawl SDK methods
NewBoth Python and Node.js SDKs now include crawl methods. Start crawls, poll status, and retrieve results programmatically.
Crawl billing transparency
NewCrawl costs now appear in your usage breakdown and transaction history. The crawl status page shows tier breakdowns and session cost tracking.
Forgot password flow
NewYou can now reset your password via a secure email flow. The forgot password link on the sign-in page walks you through the recovery process.
Cloud storage export
NewExport scrape results directly to S3, GCS, or Azure. Configure storage integrations in Settings and attach them to batch and schedule jobs.
Per-key and account spend limits
NewYou can now set spending limits per API key and at the account level. Scheduled and batch scrapes enforce these limits, and credits are automatically refunded when jobs fail.
Interactive pricing tier cards
NewTier cards on the billing page are now interactive, making it easier to understand and compare what each tier offers.
Faster page load times
ImprovedReduced initial page load time by deferring below-fold JavaScript and heavy 3D animations. Dashboard skeleton loaders replace spinners for smoother perceived performance.
OAuth sign-in loop fixed
FixedFixed an issue where some users experienced an infinite sign-in loop when using Google OAuth due to a database table mismatch.
Dashboard balance link added
FixedThe balance area in the dashboard header is now clickable and links directly to the billing page.
Crawl max limits increased
FixedCrawl limits have been raised to 100,000 pages and 50 levels of depth, supporting larger site crawls.
Authenticated Scraping (BYOS)
Bring Your Own Session (BYOS)
NewScrape as your logged-in self. Pass your own session cookies or custom auth headers to access member pricing, paywalled content, private communities, and internal dashboards. Zero credential storage — cookies are used for the request only and immediately discarded.
Custom Cookie Injection
NewNew 'cookies' parameter accepts cookie strings or key-value objects. Works with all tiers including JS rendering and anti-bot bypass. No surcharge for authenticated requests.
Custom Auth Headers
NewPass Bearer tokens, OAuth headers, or any custom authentication headers via the 'extra_headers' parameter. Perfect for scraping authenticated API endpoints and web apps behind SSO.
Zero-Trust Session Handling
SecuritySession data is held in memory only, encrypted via TLS 1.3, never written to disk or logs, and discarded immediately after the request completes. Your credentials stay yours.
Performance and Reliability Improvements
Interactive pricing tier cards
NewTier cards on the billing page are now interactive, making it easier to compare features and costs across scraping tiers.
Faster page load times
ImprovedReduced initial page load by deferring below-fold JavaScript and heavy 3D animations. Dashboard pages now load noticeably faster.
Improved scraping reliability
ImprovedScraping is now more reliable with better handling of large HTML pages, faster dead proxy detection, and improved timeout management for browser-based scraping.
Dashboard balance now clickable
FixedThe balance area in the dashboard header is now a clickable link that takes you directly to the billing page.
Spend Limits, Fraud Protection, and Promo Codes
Per-key and account spend limits
NewYou can now set daily and monthly spending limits on individual API keys and at the account level. Limits are enforced on scrape, batch, and scheduled jobs, with automatic credit refunds when jobs are blocked.
Promo code system
NewYou can now apply promo codes when making deposits to receive bonus credits. Enter a code in the deposit form to see your bonus applied automatically.
Deposit confirmation emails
NewYou now receive email confirmations when deposits complete successfully, and reminders for abandoned checkouts.
Stripe invoices for deposits
NewDeposits now generate Stripe invoices. You can view promo bonus details as distinct line items in your payment history.
Per-request webhook URL
NewYou can now specify a webhook_url per scrape request. Job completion payloads are enriched with more data for easier processing.
Per-key usage detail page
NewA new usage detail page lets you drill into request logs for each API key with pagination, filters, and CSV export.
Per-domain analytics
NewA new domain analytics view in the dashboard shows success rates, costs, and trends broken down by target domain.
LLM content extraction
NewYou can now pass an extraction_prompt parameter to have AI extract specific data from scraped pages. The LLM extraction feature processes your prompt against the page content and returns structured results.
Output format selector
NewThe playground now includes an output format selector, defaulting to JSON and text. Choose which formats you want returned from each scrape.
RAG output format
NewA new RAG output format returns content in chunks with token counts, optimized for retrieval-augmented generation workflows.
Change detection monitoring
NewA new monitoring layer on top of scheduled scraping detects content changes and diffs between runs, letting you track when pages update.
Light mode support
NewThe dashboard, 3D visualizations, and terminal now fully support light mode with proper color schemes and contrast.
Cloud storage export
NewExport scrape results directly to S3, Google Cloud Storage, or Azure Blob Storage. Configure connections in the new Storage Integrations settings page.
LangChain document loader
NewA new LangChain community document loader integrates AlterLab scraping directly into your LangChain pipelines.
Node SDK batch methods
NewThe Node.js SDK now includes batchScrape, waitForJob, getJobStatus, and estimateCost methods for programmatic batch operations.
Improved Amazon extraction
NewAmazon scraping now extracts categories, BSR ranking, rating histograms, Amazon's Choice badges, delivery info, promotional offers, coupons, product variations, list prices, and savings data.
Faster scrape response times
ImprovedScraping performance has been improved with cached extraction output, adaptive polling intervals, and connection reuse. Response times are noticeably faster, especially for repeated requests to the same domains.
Billing accuracy improvements
FixedFixed multiple billing edge cases: duplicate credit grants on webhook retries, spend counter drift, incorrect low-credit threshold calculations, and proper microcent conversions across all billing paths.
Usage modal showing wrong data
FixedFixed an issue where the usage detail modal displayed incorrect tier, format, and location information for scrape requests.
Minimum deposit raised to $10
FixedThe minimum deposit amount has been raised from $5 to $10 to ensure meaningful account balances.
SSL certificate fallback
FixedFixed scraping failures on sites with incomplete SSL certificate chains. These sites now scrape successfully with automatic certificate fallback.
Structured error responses
FixedWhen scraping fails, error responses now include clearer, structured details about what went wrong, without exposing internal system information.
Batch Scraping & Scheduled Jobs
Batch scraping endpoint
NewYou can now submit thousands of URLs in a single POST /v1/batch request. Track progress, get webhook notifications on completion, and view itemized billing for each URL.
Scheduled scraping with cron
NewSet up recurring scrape jobs using cron expressions. Schedules run automatically and apply your BYOP discount when configured.
Batch and schedule dashboards
NewNew dashboard pages for managing batch jobs and schedules, with progress tracking, error details, and usage breakdowns.
Data Processing Agreement page
NewA new DPA page is now available for enterprise customers who need a formal data processing agreement.
Usage chart restored
FixedFixed an issue where the usage chart on the dashboard was showing a placeholder instead of real data.
Failed requests in detailed logs
FixedFailed scrape requests now appear in your detailed usage logs, giving you full visibility into what went wrong.
Performance & Stability
General stability improvements
ImprovedInternal performance optimizations to improve scraping reliability and reduce resource usage under high load.
Compliance & Security Hardening
OAuth sign-in crash fixed
FixedFixed an issue where signing in with Google OAuth could crash due to a logging error in the fingerprint service.
Amazon coupon extraction improved
FixedUpdated extraction selectors for Amazon product pages to correctly capture coupon and promotional offer data.
OFAC sanctions screening
SecurityNew compliance layer screens signups against OFAC sanctions lists and applies geo-IP restrictions for prohibited regions.
Google One Tap Sign-In Fixes
Usage page balance display
ImprovedThe usage page now shows your current balance prominently and removes misleading hover effects from non-interactive elements.
Google One Tap sign-in fixed
FixedFixed several issues causing Google One Tap sign-in to fail, including session handling errors and redirect loops.
OAuth provider-not-linked error
FixedFixed an issue where signing in with a different OAuth provider than originally used would show a confusing error instead of a helpful redirect.
Promo Codes, Notifications & Webhooks
Promo code system
NewYou can now apply promo codes when depositing funds to receive bonus credits. Enter codes directly on the billing page during checkout.
In-app notification center
NewA new notification bell in the dashboard alerts you to important events like promo code activations and account updates.
Enriched webhook payloads
NewWebhook job.completed events now include richer data. You can also set a per-request webhook_url to receive results at different endpoints for each scrape.
Stripe invoices for deposits
NewEvery deposit now generates a proper Stripe invoice, making it easier to track payments and manage accounting.
Improved extraction quality
NewBetter text and markdown output from structured data sources. Collection pages, financial data, and generic pages now return richer formatted content.
Blog added to navigation
NewThe AlterLab blog is now accessible from the main site navigation across all pages.
Faster API response times
ImprovedScrape API responses are now faster thanks to adaptive polling and optimized backend processing. You should notice quicker turnaround on synchronous requests.
Duplicate credit grant prevention
FixedFixed an issue where webhook retries from Stripe could result in duplicate credit grants to your account.
Usage modal data corrected
FixedFixed the usage detail modal showing incorrect format and location information for individual scrape requests.
SSL certificate fallback
FixedSites with incomplete SSL certificate chains no longer fail. The scraper now automatically falls back to handle partial certificate configurations.
Welcome modal scrape count corrected
FixedFixed the welcome modal displaying 1,000 free scrapes instead of the correct 5,000.
Promo Codes & Notification System
Deposit promo codes
NewYou can now enter promo codes when adding funds to your account. Valid codes grant bonus credits on top of your deposit amount.
In-app notifications
NewA new notification center in the dashboard keeps you informed about promo activations, account events, and important updates.
Deposit invoices via Stripe
NewEvery deposit now generates a Stripe invoice with promo bonus shown as a distinct line item, making your payment history clearer.
Faster scrape responses
ImprovedSynchronous scrape requests now return faster thanks to adaptive polling optimizations and cached extraction output.
SSL fallback for broken certs
FixedSites with incomplete SSL certificate chains no longer fail. The scraper automatically handles partial certificate configurations.
Pricing & Billing Fixes
Updated pricing tiers
ImprovedAdjusted pricing for advanced scraping tiers to better reflect operational costs. Check the pricing page for current rates.
Billing calculation fixes
FixedFixed multiple issues where credit balances and costs were calculated incorrectly due to unit conversion errors. Your balance and usage now display accurately.
Usage modal data corrected
FixedFixed the usage detail modal showing wrong tier, formats, and location for individual scrape requests.
Smart Extraction & Minimum Deposit Change
Better collection page extraction
NewProduct listings, search results, and other collection pages now return significantly richer structured data in both JSON and text/markdown formats.
New site support: almaany.com
NewAdded optimized extraction for almaany.com, a major Arabic dictionary site, with dedicated content parsing rules.
Text and markdown from structured data
NewWhen requesting text or markdown format, you now get richer output generated from structured data sources like product schemas and financial instruments.
Improved anti-bot bypass
ImprovedSignificantly improved success rates on Cloudflare-protected sites by reducing false challenge detections and eliminating wasted time on unsolvable challenges.
Minimum deposit raised to $10
FixedThe minimum deposit amount has been raised from $5 to $10 to align with payment processing requirements.
Dashboard layout improvements
FixedFixed dead click areas, layout shift issues, and conversion gaps on the playground, billing, and usage pages.
Bug Fixes & Stability
Usage estimate routing fixed
FixedFixed an issue where usage estimate requests from the dashboard were failing due to incorrect API routing.
Enhanced JSON Extraction & OAuth2
Enhanced JSON extraction (json_v2)
NewA new json_v2 format option returns richer structured data including contacts, dates, media, and key-value pairs automatically extracted from any page.
Amazon delivery and coupon data
NewAmazon product scrapes now extract delivery information, promotional offers, and coupon details in the structured response.
OAuth2 authorization server
NewYou can now connect AlterLab to third-party platforms like n8n using standard OAuth2 authorization. Manage connected apps from your dashboard.
Better generic page extraction
ImprovedNon-article pages like homepages, landing pages, and app pages now return significantly better content extraction results.
Email verification required for API keys
SecurityAPI key generation now requires a verified email address, improving account security and preventing abuse.
OTP Security & Pricing Refresh
Redesigned Pricing Page
ImprovedThe pricing page has been redesigned for better clarity, with a step progress indicator added to the sign-in flow and extended OTP validity time.
OTP Brute-Force Protection
SecurityAdded per-email attempt limits to prevent automated guessing of one-time verification codes. Accounts are temporarily locked after too many failed attempts.
Protected Site Support & Scraping Speed
Improved Protected Site Compatibility
NewAdded TLS fingerprint impersonation to significantly improve success rates on sites with advanced bot protection. Many previously difficult sites now return content on the first attempt.
New Lightweight Browser Scraping Mode
NewIntroduced a fast API-replay scraping mode that captures and replays browser network requests, delivering browser-level accuracy at HTTP-level speed.
E-Commerce Extraction Improvements
NewImproved product data extraction for major e-commerce platforms, with better metadata parsing and support for client-side rendered product pages.
Social Media Profile Scraping
NewAdded support for scraping social media profile data through dedicated API integrations, bypassing common anti-bot protections.
Scraping Performance Boost
ImprovedApplied 14 performance optimizations across the scraping pipeline, resulting in faster response times especially for browser-based scrapes.
Playground Code Copy Fix
FixedYou can now copy code examples from the playground without needing to be logged in.
2FA Email Delivery Fix
FixedFixed a bug where two-factor verification codes were not being sent via email during account actions.
Playground Code Copy Fix
Copy Code Without Login
FixedYou can now copy code examples from the playground without needing to sign in first.
Markdown-First Output & Request Details
Markdown-First API Output
NewAPI responses now default to markdown format, optimized for LLM and AI workflows. The playground shows the markdown tab first for quick copy-paste into AI tools.
Redesigned Request Detail View
NewThe request detail modal in the playground and usage logs has been completely redesigned with a premium developer experience, making it easier to inspect scrape results and debug issues.
Balance Estimator
NewA new requests estimator shows how many scrapes your remaining balance can support, displayed inline with your balance in the header.
Report Issue Button
NewYou can now report scraping issues directly from the dashboard. Your feedback helps improve extraction quality for specific sites.
Source Tracking for Requests
NewUsage logs now distinguish between requests made from the playground versus your API integration, helping you track usage more precisely.
Improved Sign-In Error Messages
ImprovedSign-in errors now show clear, actionable messages instead of generic failures, and the page handles already-authenticated users gracefully.
Playground Layout Improvements
FixedFixed several playground layout issues including results panel height matching and scrolling behavior for a cleaner experience.
OAuth Account Linking
FixedFixed the OAuth account linking flow so you can properly connect Google or GitHub to an existing email account.
Stability Patch
General Stability Improvements
ImprovedInternal maintenance and stability improvements for a smoother experience.
Support Tickets & Billing Fixes
Support Ticket System
NewYou can now submit and track support tickets directly from your dashboard. Get help with scraping issues, billing questions, or account problems without leaving the platform.
Updated Free Tier Messaging
ImprovedThe free tier now clearly shows 5,000 scrapes included, with updated messaging across the platform.
Better Scraping Success Rates
ImprovedImproved stealth capabilities for sites with advanced bot protection, resulting in higher success rates on difficult targets.
Billing Balance Consistency
FixedFixed issues with balance display occasionally showing stale values. Your balance and ledger are now always in sync.
Playground Run Button Feedback
FixedThe Run button now shows a visual prompt when you try to run a scrape without an API key configured.
Playground Redesign & Light JS Mode
New Lightweight Browser Scraping
NewA new scraping mode bridges the gap between fast HTTP requests and full browser rendering. Get JavaScript-rendered content at significantly lower cost and latency, controllable via the force_tier parameter.
Redesigned Playground Config
ImprovedThe playground configuration panel has been redesigned for better usability and scroll performance, making it easier to set up complex scrape requests.
Faster Dashboard Loading
ImprovedMoved user data fetching to the client side, reducing initial page load time for the dashboard.
Clickable Balance Display
FixedYour balance display in the dashboard header is now clickable and navigates directly to the billing page.
OAuth Error Messages
FixedImproved error messages when OAuth sign-in encounters issues, so you can understand what went wrong.
OTP Verification & Inline Docs
Email OTP Verification
NewNew password-based signups now require email verification via a one-time code. This protects your account from unauthorized access from day one.
Inline Documentation Panel
NewAccess API documentation directly from the dashboard sidebar without leaving your workflow. Includes search to quickly find endpoints and examples.
Redesigned Pricing Page
ImprovedThe pricing page has been redesigned with improved UX, including a highlighted smart routing explanation showing how requests are optimally processed.
Better Firewall Detection
ImprovedImproved detection of various web application firewalls that return fake 200 OK responses with block pages, leading to more accurate scraping results.
Playground Redirect for Logged-In Users
FixedAuthenticated users visiting the public playground are now automatically redirected to the dashboard playground with full functionality.
CLI Terminal & Usage Analytics
Dashboard CLI Terminal
NewA fully functional command-line terminal is now built into your dashboard. Run scrape commands, check stats, and manage your account without leaving the browser.
Redesigned Usage Analytics
NewThe usage analytics page has been completely redesigned with sortable tables, animations, and a command center aesthetic. Includes a recent logs preview on the overview tab.
Improved Dashboard Readability
ImprovedDashboard displays have been refined for better readability with clearer labels and improved data presentation.
Mission Control Dashboard & SDK Update
Mission Control Dashboard
NewThe main dashboard has been redesigned as a Mission Control view. Quick Scrape now autoruns for instant results, and key metrics are displayed in a streamlined vitals panel.
SDK Retry Logic (v2.0.1)
NewBoth Python and Node.js SDKs now include automatic retry with exponential backoff and logging. Failed requests are retried transparently for better reliability.
Usage Chart Axis Fix
FixedFixed an issue where chart lines could cross the axes in the usage dashboard, improving data visualization accuracy.
Usage Data Accuracy Fix
Accurate Success Tracking
FixedUsage logs now correctly derive success or failure from the actual HTTP status code, so your success rates and analytics reflect real outcomes.
Schema Filtering & Discord Bot
Source Tracking for Requests
NewAPI responses now include source tracking to distinguish between playground and API requests, helping you monitor usage patterns.
Discord Integration
NewA Discord bot is now available for real-time production monitoring, incident management, and slash commands to interact with the platform.
Improved API Documentation
FixedFixed several documentation issues including extraction schema field names, Python SDK async/await examples, and formatting in code samples.
Schema Field Compatibility
FixedAdded missing field aliases to extraction schemas, ensuring playbook-specific field names map correctly to standard output fields.
General Stability Improvements
General stability improvements
ImprovedMinor internal improvements to ensure consistent behavior across the platform.
Security Hardening & Billing Fixes
Billing system migration completed
FixedCompleted the migration from credit-based to tier-based pricing. Deposit limits and concurrency tiers are now consistent between the dashboard and API.
Google sign-in error visibility
FixedWhen Google One Tap sign-in fails silently, you now see a clear error toast instead of nothing happening.
Rate limit tiers synchronized
FixedRate limits displayed in the dashboard now accurately match the enforced backend limits for each tier.
Security vulnerability fixes
SecurityResolved critical authentication and request validation vulnerabilities. Webhook and proxy endpoints now include additional protection against server-side request forgery.
General Stability Improvements
General stability improvements
ImprovedMinor internal improvements to ensure consistent behavior across the platform.
General Stability Improvements
General stability improvements
ImprovedMinor internal improvements to ensure consistent behavior across the platform.
Lossless Extraction by Default
Lossless extraction by default
NewStructured data extraction now preserves all available fields by default. You no longer need to opt in to get complete results from product pages, articles, and other structured content.
Content filtering now works everywhere
FixedThe filter_content parameter now correctly applies across all extraction paths, ensuring consistent results regardless of the page type being scraped.
Marketplace & Searchable Docs
Marketplace integration support
NewAlterLab now supports integration with external API marketplaces. Marketplace requests are handled seamlessly with proper authentication and billing.
Searchable documentation
NewDocumentation now includes a dynamic search index, making it much faster to find the endpoint or guide you need.
Node.js SDK documentation
NewComprehensive SDK documentation is now available for both Python and Node.js, with usage examples and badges.
Searchable Documentation
Searchable documentation
NewDocumentation now includes a dynamic search index so you can quickly find any endpoint, guide, or SDK reference.
Node.js SDK documentation
NewComprehensive SDK documentation is now available in the docs sidebar, covering both Python and Node.js SDKs with examples.
v2.0.0
Smarter Content Extraction
Smarter content extraction
NewThe API now intelligently detects page types (product, article, listing, etc.) and applies optimized extraction strategies. This delivers 43% faster structured data extraction with more accurate results.
Cache now respects all options
FixedAdvanced scrape options like custom headers and extraction settings are now properly included in cache key generation. Previously, different option combinations could incorrectly return cached results from other configurations.
JSON Schema Filtering & Job Recovery
JSON Schema data filtering
NewYou can now pass a JSON Schema with your scrape request to filter extracted data to only the fields you need. Reduces response size and simplifies downstream processing.
Automatic job recovery
NewJobs that get stuck due to transient failures are now automatically detected and recovered. This significantly improves reliability for high-volume scraping workloads.
Image extraction for lazy-loaded pages
NewThe API now extracts images from lazy-loaded pages that use data-src, data-image, and similar patterns. Product pages and portfolio sites return complete image sets.
Comprehensive documentation update
NewAdded new guides, tutorials, SDK reference, and a quickstart guide. Documentation now uses clear dollar-based pricing terminology throughout.
Welcome Emails & Pricing Clarity
Welcome email on signup
NewNew users now receive a welcome email after signing up or registering via OAuth. The email includes getting-started guidance to help you make your first API call.
Consistent pricing display
FixedPricing tiers are now standardized across the entire platform — dashboard, API docs, and billing page all show the same tier structure.
Firecrawl API Compatibility
Firecrawl API compatibility
NewAlterLab now supports Firecrawl-compatible API endpoints. If you're migrating from Firecrawl, you can point your existing code at AlterLab with minimal changes.
Clearer OAuth error messages
FixedWhen OAuth sign-in encounters an error, you now see a user-friendly message explaining what went wrong instead of a generic failure page.
Better Protected Site Handling
Better handling of protected sites
NewThe scraper now automatically escalates its approach when it detects bot protection on a site. This means higher success rates on difficult-to-scrape websites without any configuration changes on your end.
Dashboard stats loading fix
FixedResolved an error that could cause the dashboard statistics endpoint to fail with a database connection issue.
Dashboard tier display corrected
FixedFixed an issue where your current tier was incorrectly displayed in the dashboard due to a normalization bug.
Better Protected Site Handling
Better handling of protected sites
NewThe scraper now automatically escalates its approach when it detects bot protection. Protected sites that previously failed now succeed without any changes to your API calls.
Dashboard tier display corrected
FixedFixed an issue where your current tier was incorrectly displayed in the dashboard due to a normalization bug.
Pricing Update & Performance Boost
Updated pricing structure
NewPricing has been updated across all tiers to reflect the true cost of premium scraping capabilities. Billing now supports 5-decimal precision for accurate sub-cent tracking.
Faster mobile experience
ImprovedThe homepage loads significantly faster on mobile devices with optimized rendering. Visual quality is preserved while reducing computational overhead.
Status Page and Smarter Scraping
Live status page
NewA new real-time status page shows the health of scraping, API, and infrastructure services so you always know platform availability.
Faster scraping with parallel processing
NewScraping requests now use parallel IP racing and streaming optimization for significantly faster responses, especially on high-protection domains.
BYOP parallel IP support
NewBring Your Own Proxy users can now benefit from parallel IP racing, improving success rates on difficult sites.
Automatic fallback for blocked sites
ImprovedThe scraping engine now intelligently remembers which approach works best for each domain and automatically skips methods that consistently fail.
Corrected rate limit display
FixedEmail usage alert notifications now show the correct rate limit values for your account tier.
Geo-Targeted Proxies and Anti-Bot Improvements
Geo-targeted BYOP proxies
NewYou can now specify geographic locations for all Bring Your Own Proxy providers, enabling country-specific scraping for localized content.
Better anti-bot bypass success
ImprovedImproved success rates on heavily protected sites like ticket marketplaces through enhanced challenge-solving capabilities.
Dynamic extraction from playbooks
ImprovedThe scraping engine now applies domain-specific extraction rules automatically, delivering better structured data for supported sites.
Improved Reliability and Protection Bypass
Better anti-bot challenge solving
ImprovedImproved automated challenge-solving for sites protected by interactive verification, increasing success rates on heavily guarded domains.
Automatic proxy rotation for protected domains
ImprovedHigh-protection domains like major retailers now automatically use IP rotation for better success rates.
Fixed worker crash on startup
FixedResolved a missing module that could cause scraping workers to crash, improving overall reliability.
Job Monitoring and Auto-Escalation
Automatic proxy escalation
ImprovedWhen a request is blocked, the system now automatically retries with proxy enabled, improving success rates without requiring manual intervention.
Reliable job status tracking
FixedFixed data inconsistencies between the job queue and dashboard, so job statuses now accurately reflect real-time progress.
Fixed sidebar layout on first load
FixedResolved an issue where the dashboard sidebar would render at the wrong width on the initial page load.
Organizations and Mobile Improvements
Organization member permissions
NewOrganization members now have proper permission checks when creating API keys, ensuring team access controls work correctly.
Better mobile experience
ImprovedImproved responsiveness across the entire platform for a smoother experience on phones and tablets.
Clearer insufficient balance errors
FixedWhen your balance is too low, error messages now show the exact dollar amount needed instead of obscure internal values.
Google One Tap Sign-In
Google One Tap sign-in
NewSign in instantly with a single tap using your Google account, no password required. Available across the platform.
Fixed demo overlay buttons
FixedThe interactive demo buttons on the homepage now work correctly, letting you try the API without signing up.
Fixed signup credit grant
FixedNew signups now correctly receive their welcome credits and email verification even when email delivery is unavailable.
Reddit scraping enabled
FixedReddit scraping now works reliably with automatic proxy routing for consistent results.
Reliability and Pricing Precision
Higher throughput and reliability
ImprovedSignificant reliability improvements ensure failed scrapes return errors immediately instead of silently retrying, giving you faster feedback.
Sub-cent pricing precision
ImprovedPricing now supports 4 decimal places, ensuring accurate billing for high-volume users with sub-cent per-request costs.
Fixed dashboard crash on unknown status
FixedThe dashboard no longer crashes when encountering jobs with unexpected status values.
Horizontal Scaling and Balance-Based Limits
Higher throughput and reliability
NewThe scraping infrastructure now scales horizontally with multiple worker replicas, delivering higher throughput and better reliability under load.
Balance-based rate limits
ImprovedConcurrency and rate limits are now tied to your account balance rather than fixed subscription tiers, giving you automatic scaling as you deposit more.
Redesigned proxy integration modal
FixedThe BYOP proxy integration modal has been redesigned to prevent content clipping and improve usability.
Parallel Scraping and Reddit Support
3x faster with parallel scraping
NewScraping now races multiple approaches in parallel instead of sequentially, dramatically reducing response times especially for protected sites.
Reddit scraping support
NewFull support for scraping Reddit posts, comments, and profiles with optimized extraction that delivers clean structured content.
Request detail modal
NewA new detail modal in the playground shows the full scrape journey for every request, including timing, approach used, and content extracted.
Consolidated JSON output
ImprovedJSON extraction output no longer produces triple-duplicated data, giving you a cleaner and more usable response.
Fixed playground storage error
FixedResolved a localStorage quota error that could prevent the playground from saving your scraping history.
Job status visible in dashboard
FixedScrape job statuses now sync to the dashboard database so you can track all your jobs in the usage logs.
3x Throughput and Location-Based Proxies
3x throughput improvement
NewA new split worker architecture delivers 3x higher throughput, meaning your batch scrapes and concurrent requests complete significantly faster.
Location-based proxy targeting
NewBYOP users can now specify geographic locations for their proxy requests, enabling country-specific scraping for localized content.
Balance-based concurrency tiers
NewConcurrency limits now scale with your account balance instead of fixed plans. Higher balance means more simultaneous requests.
Dashboard shows correct tier
ImprovedThe dashboard now displays your actual balance-based tier instead of a legacy subscription plan name.
Fixed BYOP proxy toggle
FixedResolved a bug where switching proxy providers would carry over stale configuration from the previous provider.
PDF Generation and Organizations
PDF generation
NewGenerate full-page PDF snapshots of any URL through the API. PDFs are served via a dedicated downloads endpoint with direct URL access.
Organization workspaces
NewCreate organizations and invite team members to share API keys, billing, and usage under a single workspace.
Redesigned billing experience
ImprovedThe billing page has been completely redesigned with a modern transaction history, proper receipt URLs, and support for deposits up to $50,000.
Smart navigation for logged-in users
ImprovedCTA buttons and header navigation now route logged-in users directly to the dashboard instead of showing the sign-in modal.
Welcome modal redesign
ImprovedNew users see a polished welcome experience with clear onboarding guidance after signing up.
Fixed balance display rounding
FixedAccount balance now truncates instead of rounding, preventing misleading display of fractional cents.
Caching is now opt-in
FixedResponse caching is now disabled by default. Enable it explicitly with the cache parameter when you want cached results.
Want to stay updated? Follow us on Twitter or check the docs.