Changelog

New features, improvements, and fixes shipped to AlterLab.

Latest

v2.42.0

Bug Fixes & Stability

Apr 29, 2026
15 changes

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

Improved

Plus 1 internal improvement for better reliability and performance.

Raise MAX_QUEUE_DEPTH default from 100 to 500

Fixed

Raise MAX_QUEUE_DEPTH default from 100 to 500 .

Add hard-cap eviction for _last_used_cache

Fixed

Add hard-cap eviction for _last_used_cache .

Standardize ResizeObserver height measurement

Fixed

Standardize ResizeObserver height measurement .

Auto-dismiss activation banner when stats update after fi...

Fixed

Auto-dismiss activation banner when stats update after fi....

Resolve two TypeScript build errors

Fixed

Resolve two TypeScript build errors .

Add lastModified to /smart-rendering-api sitemap entry (#...

Fixed

Add lastModified to /smart-rendering-api sitemap entry (#....

Correct Phase H guard index in 0096 rollback

Fixed

Correct Phase H guard index in 0096 rollback .

Add herald.clarity_api_token to SOPS prod.

Fixed

Add herald.clarity_api_token to SOPS prod. .

Expand seo dedup guard to match slash-separated display n...

Fixed

Expand seo dedup guard to match slash-separated display n....

Update _CSR_WEBPACK_FILENAME_PATTERNS comment for dual-mo...

Fixed

Update _CSR_WEBPACK_FILENAME_PATTERNS comment for dual-mo....

Show correct \$0.00 for zero-balance dormant users in ema...

Fixed

Show correct \$0.00 for zero-balance dormant users in ema....

Store create_task reference to prevent GC risk

Fixed

Store create_task reference to prevent GC risk .

Replace containerHeight state with ResizeObserver ref in ...

Fixed

Replace containerHeight state with ResizeObserver ref in ....

Add SET NOT NULL to 0096 rollback Phase C

Fixed

Add SET NOT NULL to 0096 rollback Phase C .

Fall back to in-memory throttle on Redis failure in _shou...

Fixed

Fall back to in-memory throttle on Redis failure in _shou....

Fix billing crash on cache hits

Fixed

Your 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

Fixed

Remove Site Crawler from homepage.

Bug Fixes & Stability

General bug fixes and improvements

Improved

Plus 13 internal improvements for better reliability and performance.

Welcome modal not firing for ~13% of new signups

Fixed

Welcome modal not firing for ~13% of new signups .

Stop decrypting API key on every Mission Control load (#9...

Fixed

Stop decrypting API key on every Mission Control load (#9....

Stop caching plaintext API keys in Web Storage

Fixed

Stop caching plaintext API keys in Web Storage .

Add rate limit and audit log to decrypt proxy

Fixed

Add rate limit and audit log to decrypt proxy .

Require explicit confirmation before API key transfer to ...

Fixed

Require explicit confirmation before API key transfer to ....

Stop storing plaintext API key in localStorage

Fixed

Stop storing plaintext API key in localStorage .

Mask API key in IntegrationCTA code snippets

Fixed

Mask API key in IntegrationCTA code snippets .

Bug Fixes & Stability

Update remaining /anti-bot-bypass-api references to /smar...

New

Update remaining /anti-bot-bypass-api references to /smar....

Align ToS and AUP with new marketing positioning

New

Align ToS and AUP with new marketing positioning .

Update stale slug-to-context mapping after renam...

Fixed

Update stale slug-to-context mapping after renam....

Add 301 redirects for removed domain pages

Fixed

Add 301 redirects for removed domain pages .

Hoist _POSTGRES_SURROGATE_TABLE to module level

Fixed

Hoist _POSTGRES_SURROGATE_TABLE to module level .

Correct llms.txt adaptive-rendering-api URL to smart-rend...

Fixed

Correct llms.txt adaptive-rendering-api URL to smart-rend....

Replace bare console.log with debugLog to prevent job ID ...

Fixed

Replace bare console.log with debugLog to prevent job ID ....

Make UntranslatableCharacterError detection reachable via...

Fixed

Make UntranslatableCharacterError detection reachable via....

Expand _sanitize_for_postgres to cover Unicode non-charac...

Fixed

Expand _sanitize_for_postgres to cover Unicode non-charac....

Correct migration 0093 to target scrape_diagnostics for s...

Fixed

Correct migration 0093 to target scrape_diagnostics for s....

Null out negative response_time_ms and scrape_time_ms val...

Fixed

Null out negative response_time_ms and scrape_time_ms val....

Replace time.time with time.monotonic for duration me...

Fixed

Replace time.time with time.monotonic for duration me....

Remove example URLs dropdown from config panel

Fixed

Remove example URLs dropdown from config panel.

Add blog-post-headline/description classes to match speak...

Fixed

Add blog-post-headline/description classes to match speak....

Replace /anti-bot-bypass-api with /smart-rendering-api in...

Fixed

Replace /anti-bot-bypass-api with /smart-rendering-api in....

Release Title

Discord slash commands

New

Description: 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

New

Discord OAuth provider.

Discord linking UI

New

Discord linking UI.

Short title

New

Description...

Discord slash commands

New

Description...

Discord OAuth provider

New

Description...

Discord linking UI

New

Description...

Add blog-performance UI page + nav entry

New

Add blog-performance UI page + nav entry .

Harmonize BYOS data processor role and strengthen respons...

New

Harmonize BYOS data processor role and strengthen respons....

fix(api): add input validation for discord_id, provider allowlists (, ) – likely a fix, maybe impr

Improved

fix(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.

Improved

fix(auth): guard against Discord users with unverified email – bug fix..

fix(auth): clear account_link_state cookie after linking completes – bug fix.

Improved

fix(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

Improved

fix(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.

Improved

feat(sentinel): add /usage and /balance slash commands for linked users – new feature..

feat(auth): add Discord to connected accounts linking UI – new feature.

Improved

feat(auth): add Discord to connected accounts linking UI – new feature..

feat(auth): add Discord OAuth provider to NextAuth – new feature.

Improved

feat(auth): add Discord OAuth provider to NextAuth – new feature..

fix(scraper): reject hostless URLs in batch schema and worker pre-flight – bug fix.

Improved

fix(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

Improved

Input validation for discord_id and provider allowlists – improves reliability, maybe "Validate Disc.

Guard against unverified email causing 422 – improves auth flow.

Improved

Guard against unverified email causing 422 – improves auth flow..

Clear account_link_state cookie after linking – improves user experience.

Improved

Clear account_link_state cookie after linking – improves user experience..

Set cookie HttpOnly + Secure – security improvement.

Improved

Set cookie HttpOnly + Secure – security improvement..

Add /usage and /balance slash commands – new feature.

Improved

Add /usage and /balance slash commands – new feature..

Add Discord to connected accounts linking UI – new feature.

Improved

Add Discord to connected accounts linking UI – new feature..

Add Discord OAuth provider to NextAuth – new feature.

Improved

Add Discord OAuth provider to NextAuth – new feature..

Reject hostless URLs in batch schema – improves scraper reliability.

Improved

Reject hostless URLs in batch schema – improves scraper reliability..

New slash commands (/usage, /balance) – likely Features.

Improved

New slash commands (/usage, /balance) – likely Features..

Add Discord to connected accounts linking UI – maybe Features or Improvements? It's a new UI feature

Improved

Add 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.

Improved

Add Discord OAuth provider – maybe Features (or Improvements?). Probably Features..

Input validation for discord_id and provider allowlists – could be Improvements (enhancement) or Fix

Improved

Input 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.

Improved

Guard 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.

Improved

Clear 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".

Improved

Set 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:

Improved

Reject hostless URLs in batch schema – fix? Could be "Reject hostless URLs in batch requests". Type:.

Validate Discord ID and provider filters

Improved

Validate Discord ID and provider filters.

Handle unverified Discord email gracefully

Improved

Handle 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

Improved

Feature entries: icon:Rocket.

Improvement entries: icon:Zap

Improved

Improvement entries: icon:Zap.

Fix entries: icon:Bug

Improved

Fix entries: icon:Bug.

Security entry: icon:Shield

Improved

Security entry: icon:Shield.

Slash commands: visualHint:screenshot

Improved

Slash commands: visualHint:screenshot.

OAuth provider: maybe code? But code hint is for code examples; not needed. Could omit.

Improved

OAuth provider: maybe code? But code hint is for code examples; not needed. Could omit..

Linking UI: screenshot.

Improved

Linking UI: screenshot..

Validation: stats? Maybe stats.

Improved

Validation: stats? Maybe stats..

Email handling: maybe stats? Could use stats.

Improved

Email handling: maybe stats? Could use stats..

Clear cookie: maybe stats? Could omit.

Improved

Clear cookie: maybe stats? Could omit..

Reject hostless URLs: maybe code? Could omit.

Improved

Reject hostless URLs: maybe code? Could omit..

Secure cookie: maybe stats? Could omit.

Improved

Secure cookie: maybe stats? Could omit..

Validate Discord ID and provider filters

Improved

Description...

Handle unverified Discord email

Improved

Description...

General bug fixes and improvements

Improved

Plus 7 internal improvements for better reliability and performance.

Clear link state cookie after linking

Fixed

Clear link state cookie after linking.

Reject hostless URLs in batch requests

Fixed

Reject hostless URLs in batch requests.

Clear link state cookie

Fixed

Description...

Reject hostless URLs in batch

Fixed

Description...

Use correct AdminKPIRow cards prop and AdminStatCardProps...

Fixed

Use correct AdminKPIRow cards prop and AdminStatCardProps....

Remove email from Discord lookup response and usage embed...

Fixed

Remove email from Discord lookup response and usage embed....

Add in-memory fallback for discord lookup rate limit when...

Fixed

Add in-memory fallback for discord lookup rate limit when....

Make trust seed marker permanent and clear on invalidate ...

Fixed

Make trust seed marker permanent and clear on invalidate ....

Defer /usage and /balance before resolve to avoid 3s ti...

Fixed

Defer /usage and /balance before resolve to avoid 3s ti....

Add URL host validation to ScrapePDFRequest and ScrapeOCR...

Fixed

Add URL host validation to ScrapePDFRequest and ScrapeOCR....

Make history empty state text mode-aware

Fixed

Make history empty state text mode-aware .

Migrate Gemini CLI from --allowed-tools to --approval-mod...

Fixed

Migrate Gemini CLI from --allowed-tools to --approval-mod....

Prevent double-release of domain concurrency slot on inva...

Fixed

Prevent double-release of domain concurrency slot on inva....

Reject hostless URLs in batch schema and worker pre-fligh...

Fixed

Reject hostless URLs in batch schema and worker pre-fligh....

Prefer backend response_time_ms over client wall-clock in...

Fixed

Prefer backend response_time_ms over client wall-clock in....

Remove leading space in min_confidence warning sentence (...

Fixed

Remove leading space in min_confidence warning sentence (....

Allow input composition during send — keep submit guards ...

Fixed

Allow input composition during send — keep submit guards ....

Secure cookie flags for link state

Security

Secure cookie flags for link state.

Secure cookie flags for link state

Security

Description...

Bug Fixes & Stability

General bug fixes and improvements

Improved

Plus 13 internal improvements for better reliability and performance.

Resolve TypeScript narrowing error in blog chat publish b...

Fixed

Resolve TypeScript narrowing error in blog chat publish b....

Remove leading space in min_confidence warning sentence (...

Fixed

Remove leading space in min_confidence warning sentence (....

Allow input composition during send — keep submit guards ...

Fixed

Allow input composition during send — keep submit guards ....

Disable publish/draft buttons while publish is in-flight ...

Fixed

Disable publish/draft buttons while publish is in-flight ....

Rename segment_key → segment_slug in HeraldSegment interf...

Fixed

Rename segment_key → segment_slug in HeraldSegment interf....

Add isSending guard to prevent concurrent message sends (...

Fixed

Add isSending guard to prevent concurrent message sends (....

Hostless URL Rejection

Fixed

Hostless URL Rejection.

Explicit Approval Mode Required

Breaking

Users 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

New

Administrators 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

New

The 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

Improved

Plus 17 internal improvements for better reliability and performance.

Corrected usage statistics columns

Fixed

Admin panel usage statistics now display accurate credit usage data by using the correct column names in database queries.

Fixed customer activity tracking

Fixed

Customer activity displays properly in the CRM pipeline by using the correct session tracking data instead of referencing non-existent columns.

Fixed success rate display

Fixed

Success rate percentages now display correctly in the admin panel by computing the proper percentage values instead of decimal fractions.

Corrected billing information display

Fixed

Billing settings and recharge information now show accurate data by querying the correct database columns for payment configurations.

Fixed session integration metrics

Fixed

Session 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

New

A 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

New

The 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

New

Monitor 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

New

Take 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

New

Manage 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

New

Organize 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

New

Plan 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

New

Track 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

Improved

The 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

Improved

Per-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

Improved

Error 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

Improved

Mobile 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

Improved

Worker 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

Improved

Plus 22 internal improvements for better reliability and performance.

Enhanced Admin Error Handling

Improved

Experience 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

Fixed

Various 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

Fixed

Critical 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

Improved

Logo 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

Improved

The 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

Improved

Marketing 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

Improved

The 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

Fixed

Authentication-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

Fixed

Logo 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

Fixed

Various 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

Security

Disposable 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

New

The 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

New

Dashboard 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

New

A 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

New

Comprehensive 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

Improved

The 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

Improved

High 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

Improved

All 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

Improved

Plus 51 internal improvements for better reliability and performance.

Personalized password emails

Improved

Password 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

Fixed

Usage 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...

Fixed

Display credits as dollar amounts in invoice upcoming ema....

Enhanced Reliability and Billing Accuracy

New Automation Entry Points

New

Added 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

New

Implemented 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

Improved

Replaced 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

Fixed

Fixed 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

Fixed

Improved 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

Fixed

Resolved 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

Fixed

Enhanced 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

Fixed

Fixed 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

Fixed

API 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

Fixed

The system now correctly identifies captcha challenges even when JavaScript contains comparison operators, preventing false negatives in automated detection.

Fixed Next.js development path issues

Fixed

API 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

Fixed

Webhook 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

Fixed

The 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

Fixed

Account deletion now properly revokes all session tokens before bulk deletion, ensuring complete account cleanup and preventing unauthorized access after deletion.

Enhanced rate limit detection

Fixed

The system now correctly identifies rate-limited responses with short HTML bodies, ensuring appropriate escalation and preventing misclassification of blocked requests.

Fixed billing deposit safeguards

Fixed

Deposits exceeding the maximum limit now trigger automatic refunds and block credit grants, preventing accidental overcharges and maintaining billing integrity.

Resolved session status filtering

Fixed

Expired 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

Fixed

Webhook URLs are now validated immediately before delivery, preventing DNS rebinding attacks that could occur between creation and delivery time.

Improved webhook race condition handling

Fixed

Stripe 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

Fixed

Various 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

Improved

Plus 17 internal improvements for better reliability and performance.

Expanded proxy coverage

Improved

Geographic 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

Fixed

Legacy 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

Fixed

The 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

Fixed

Amazon 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

Fixed

The 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

Fixed

Backup 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

Fixed

Webhook 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

Fixed

Text 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

Fixed

API 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

Fixed

Image 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

Fixed

Legacy 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

Fixed

Backup 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

Fixed

Backup 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

Fixed

Browser 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

Security

Credentials 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

Improved

Added 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

Improved

Fixed 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

Improved

Raised 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

Improved

Increased 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

Improved

Launched 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

Improved

Introduced 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

Improved

Plus 6 internal improvements for better reliability and performance.

Automatic API key recovery

Fixed

The 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

Fixed

Fixed 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

Fixed

Enhanced 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

Improved

Plus 29 internal improvements for better reliability and performance.

Batch API key resolution

Fixed

Batch 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

Fixed

Added on-demand API key decryption for batch operations, preventing fallback to truncated UUIDs when keys aren't cached in sessionStorage.

Batch request formatting

Fixed

Corrected 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

Improved

Worker 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

Improved

The 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

Improved

Critical 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

Improved

System 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

Improved

The 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

Fixed

Various 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

Fixed

Image 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

Fixed

Browser 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

Fixed

Admin 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

Fixed

Rate 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

Fixed

Audit 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

Security

Soft-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

New

Administrators 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

New

All 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

Improved

Analytics 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

Improved

The 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

Improved

Plus 16 internal improvements for better reliability and performance.

Better monitoring data safety

Improved

Log 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

Fixed

The 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

Fixed

Verify 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

Fixed

The 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

Fixed

The 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

Fixed

Entering $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

Fixed

Users 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

Fixed

API 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

Fixed

Credit 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

Fixed

Administrators 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

Fixed

Webhook 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

Fixed

Broadcasts 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

Fixed

The 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

Fixed

User 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

Fixed

Broadcast 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

Security

Admin 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

New

A 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

Improved

Internal refinements to the dashboard layout and component structure for improved consistency and maintainability.

Faster Crawl Job Reconciliation

Improved

Job 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

Improved

Rate 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

Improved

API 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

Improved

Plus 5 internal improvements for better reliability and performance.

Enhanced Billing Alerts

Fixed

Low 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

Fixed

Spending 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

Fixed

The 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

Fixed

Deposit 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

Fixed

Amazon 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

New

Set 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

New

Deposit 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

New

The 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

New

Get 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

New

The 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

Improved

All 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

Improved

Auto-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

Improved

Volume 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

Improved

Plus 30+ additional fixes across billing, accessibility, rate limiting, and dashboard reliability.

Amazon Australia timeout alignment

Fixed

Scraping 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

Fixed

Fixed 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

Security

The 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

Improved

Reduced 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

Improved

Plus 27 internal improvements for better reliability and performance.

Dashboard polling optimization

Improved

Dashboard 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

Fixed

Fixed 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

Fixed

Credit 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

Fixed

Broadcast 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

Fixed

All 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

Security

Implemented 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

Security

Your 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

Improved

This release includes 2 internal improvements for better reliability and performance.

Enhanced Demo Security & Challenge Solving

Automated challenge solving

New

Enhanced 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

Improved

Revised 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

Improved

Plus 7 internal improvements for better reliability and performance.

Strengthened demo rate limiting

Security

Added 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

New

A 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

Improved

Extraction 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

Improved

The 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

Improved

Plus 8 internal improvements for better reliability and performance.

Enhanced Analytics & Attribution

Channel ROI Dashboard

New

New 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

New

Capture 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

New

Python 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

New

Access 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

New

Receive 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

New

New 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

New

Comprehensive 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

New

SDKs 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

New

Automated 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

Improved

New 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

Improved

Modal 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

Improved

Plus 27 internal improvements for better reliability and performance.

Improved HTML scraping accuracy

Fixed

Enhanced 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

New

Scrape 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

Improved

Plus 9 internal improvements for better reliability and performance.

Revenue tracking expanded

Improved

Platform 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

Improved

IP 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

Improved

Banner 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

Fixed

The 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

Fixed

The 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

Fixed

Extracted 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

Fixed

Image 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

Fixed

You 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

Fixed

Content 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

Fixed

The 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

Fixed

Hero 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

Fixed

The 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

Fixed

The 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

Fixed

Log-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

Fixed

Top-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

Fixed

Discord 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

Fixed

Platform 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

Fixed

The 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

Fixed

The 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

Security

Security 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

Improved

The 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

Improved

Plus 3 internal improvements for better reliability and performance.

Better Shopify carousel detection

Improved

Carousel 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

Fixed

Hero 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

Fixed

Text 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

Fixed

The 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

Fixed

The 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

Fixed

The 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

Fixed

Login 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

Fixed

The 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

Fixed

SDKs 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

Fixed

Hero 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

Fixed

Navigation, 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

Fixed

Commas 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

Fixed

Scroll_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

Fixed

Image 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

Fixed

Python 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

New

Add content depth events for docs and blog .

Wire product engagement events in dashboard

New

Wire product engagement events in dashboard .

Navigation removal control

New

Content 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

Improved

Python 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

Improved

Plus 1 internal improvement for better reliability and performance.

Defer content_only heading-strip until after child promot...

Fixed

Defer content_only heading-strip until after child promot....

Throw on missing DEMO_TOKEN_SECRET in production

Fixed

Throw on missing DEMO_TOKEN_SECRET in production .

Include scroll params in cache key

Fixed

Include scroll params in cache key .

Use callback refs in useScrollDepth/useTimeOnPage

Fixed

Use callback refs in useScrollDepth/useTimeOnPage .

Gate FLAG_ICON_PATTERNS on small dimensions

Fixed

Gate FLAG_ICON_PATTERNS on small dimensions .

Add classifier-less fallback for json_v2 section tree (#3...

Fixed

Add classifier-less fallback for json_v2 section tree (#3....

Level-aware pruning guard — only preserve h1/h2 headings ...

Fixed

Level-aware pruning guard — only preserve h1/h2 headings ....

Unwrap options wrapper in UnifiedScrapeRequest validator ...

Fixed

Unwrap options wrapper in UnifiedScrapeRequest validator ....

Fallback to original soup when Readability empties sectio...

Fixed

Fallback to original soup when Readability empties sectio....

Scope markdown with playbook content_selectors

Fixed

Scope markdown with playbook content_selectors .

Add leaf-container fallback for json_v2 section tree

Fixed

Add leaf-container fallback for json_v2 section tree .

Prune empty leaf sections from json_v2 section tree

Fixed

Prune empty leaf sections from json_v2 section tree .

JavaScript rendering stability

Fixed

JavaScript-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

Fixed

Image 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

Fixed

Content 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

Fixed

Image 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

Fixed

Hero 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

Security

Security 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

Fixed

Use OIDC trusted publishing for Python and Node SDKs.

Replace postMessage wildcard origin with window.location....

Fixed

Replace postMessage wildcard origin with window.location.....

Echo correlationId in legacy cookie capture responses (#3...

Fixed

Echo correlationId in legacy cookie capture responses (#3....

Add domain pinning for BYOS cookies in inline fast path (...

Fixed

Add domain pinning for BYOS cookies in inline fast path (....

Pass byos_session_domain to T4 escalation call

Fixed

Pass byos_session_domain to T4 escalation call .

Type session-proxy payload as JWTPayload instead of Recor...

Fixed

Type session-proxy payload as JWTPayload instead of Recor....

Guard validate_session against zero-knowledge sessions (#...

Fixed

Guard validate_session against zero-knowledge sessions (#....

Use windowed Redis counters for scrape bombing detection ...

Fixed

Use windowed Redis counters for scrape bombing detection ....

Wire BYOS context pool into session invalidation chain (#...

Fixed

Wire BYOS context pool into session invalidation chain (#....

Use HKDF-SHA256 for encryption key derivation

Fixed

Use HKDF-SHA256 for encryption key derivation .

Add TTL-based expiry to RSA public key cache

Fixed

Add TTL-based expiry to RSA public key cache .

Stream session validation response to prevent OOM

Fixed

Stream session validation response to prevent OOM .

Add correlation ID to legacy cookie capture protocol

Fixed

Add correlation ID to legacy cookie capture protocol .

Remove dead cookie-parser.ts with duplicate validators (#...

Fixed

Remove dead cookie-parser.ts with duplicate validators (#....

Replace postMessage wildcard targetOrigin with window.loc...

Fixed

Replace postMessage wildcard targetOrigin with window.loc....

Workspaces, Auth Hardening, and Promo Codes

Workspace activity and audit logs

New

Your 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

New

View 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

New

Share 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

New

New 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

Improved

When 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

Improved

Plus 20 internal improvements including homepage visual polish, SEO structured data enhancements, and blog reliability fixes.

Workspace switching reliability

Fixed

Fixed 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

Fixed

API 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

Security

Added 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

Security

API 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

Security

Revoking 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

New

New 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

New

Receive 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

New

The 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

New

All platform emails now include HMAC-signed unsubscribe links and a dedicated unsubscribe page, ensuring full CAN-SPAM compliance.

Platform comparison table on pricing

New

The pricing page now includes a detailed comparison table showing how AlterLab stacks up against alternatives on features, pricing, and capabilities.

Documentation screenshots

New

Ten documentation pages now include interactive screenshots showing real dashboard UI, making it easier to follow along with guides and tutorials.

Credits renamed to Requests

Improved

The 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

Improved

Standardized 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

Improved

Recent 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

Improved

Plus 30 internal improvements including mobile sidebar fixes, SEO title rewrites, cookie consent positioning, webhook navigation, and blog cover image enhancements.

Usage page loading reliability

Fixed

Fixed 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

Fixed

Fixed inaccurate competitor pricing claims across comparison and marketing pages. All pricing data now reflects current published rates.

Auth and signup improvements

Fixed

The 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

New

New /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

New

New 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

New

Dedicated 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

Improved

All 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

Improved

Python 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

Improved

Plus 12 internal improvements including CI permissions, accessibility attributes, blog CTA placement, and pricing page sticky navigation.

Signup flow improvements

Fixed

Demo 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

Fixed

Fixed 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

Security

Fixed 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

New

Scrape 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

New

You 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

Improved

The 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

Improved

All 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

Fixed

Fixed 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

Fixed

Fixed 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

New

The 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

New

You 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

New

Export 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

New

A 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

New

You 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

New

You can now manually trigger a scheduled scrape with the new 'Run Now' button, without waiting for the next cron interval.

Duplicate schedules and batches

New

You 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

New

Batch and schedule pages now show an itemized cost calculator so you can estimate costs before running jobs.

Account deletion option

New

You 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

New

You can now rename your API keys for better organization and regenerate them if compromised, without deleting and recreating.

Profile editing in settings

New

A new profile tab in Settings lets you update your name and other profile information directly from the dashboard.

Dashboard terminal

New

A 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

New

Webhooks now automatically retry with exponential backoff on delivery failure. A delivery log shows the status of each attempt.

Password management restored

Fixed

Fixed 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

Fixed

Fixed an issue where the API key list endpoint returned full key values. Keys are now properly masked in list responses.

Balance display improvements

Fixed

Fixed 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

Fixed

Fixed an issue where the playground page had horizontal overflow on mobile devices, making the response panel inaccessible.

Contact form visible on mobile

Fixed

Fixed the contact form being hidden on mobile viewports. The form is now fully accessible on all screen sizes.

OAuth sign-in loop resolved

Fixed

Fixed 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

Fixed

Fixed spend counter drift that could cause inaccurate usage reporting and billing sync timeouts.

Crawl API, Workflow Studio, and Forgot Password

Crawl API launched

New

You 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

New

Both 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

New

The 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

New

Crawl 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

New

A 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

New

A curated gallery of workflow templates helps you get started quickly. Browse pre-built templates and customize them for your use case.

Workflow run dashboard

New

Monitor your workflow executions in real-time with the run dashboard. View execution history, retry failed runs, and track progress.

Forgot password flow

New

You 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

New

A 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

New

Documentation 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

Fixed

Fixed 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

Improved

This release includes internal improvements for better reliability and performance.

Crawl API, Billing Hardening, and Blog Enhancements

Crawl API with playground

New

The 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

New

Both Python and Node.js SDKs now include crawl methods. Start crawls, poll status, and retrieve results programmatically.

Crawl billing transparency

New

Crawl costs now appear in your usage breakdown and transaction history. The crawl status page shows tier breakdowns and session cost tracking.

Forgot password flow

New

You 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

New

Export 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

New

You 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

New

Tier cards on the billing page are now interactive, making it easier to understand and compare what each tier offers.

Faster page load times

Improved

Reduced 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

Fixed

Fixed 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

Fixed

The balance area in the dashboard header is now clickable and links directly to the billing page.

Crawl max limits increased

Fixed

Crawl 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)

New

Scrape 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

New

New '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

New

Pass 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

Security

Session 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

New

Tier cards on the billing page are now interactive, making it easier to compare features and costs across scraping tiers.

Faster page load times

Improved

Reduced initial page load by deferring below-fold JavaScript and heavy 3D animations. Dashboard pages now load noticeably faster.

Improved scraping reliability

Improved

Scraping 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

Fixed

The 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

New

You 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

New

You 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

New

You now receive email confirmations when deposits complete successfully, and reminders for abandoned checkouts.

Stripe invoices for deposits

New

Deposits now generate Stripe invoices. You can view promo bonus details as distinct line items in your payment history.

Per-request webhook URL

New

You 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

New

A new usage detail page lets you drill into request logs for each API key with pagination, filters, and CSV export.

Per-domain analytics

New

A new domain analytics view in the dashboard shows success rates, costs, and trends broken down by target domain.

LLM content extraction

New

You 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

New

The playground now includes an output format selector, defaulting to JSON and text. Choose which formats you want returned from each scrape.

RAG output format

New

A new RAG output format returns content in chunks with token counts, optimized for retrieval-augmented generation workflows.

Change detection monitoring

New

A new monitoring layer on top of scheduled scraping detects content changes and diffs between runs, letting you track when pages update.

Light mode support

New

The dashboard, 3D visualizations, and terminal now fully support light mode with proper color schemes and contrast.

Cloud storage export

New

Export scrape results directly to S3, Google Cloud Storage, or Azure Blob Storage. Configure connections in the new Storage Integrations settings page.

LangChain document loader

New

A new LangChain community document loader integrates AlterLab scraping directly into your LangChain pipelines.

Node SDK batch methods

New

The Node.js SDK now includes batchScrape, waitForJob, getJobStatus, and estimateCost methods for programmatic batch operations.

Improved Amazon extraction

New

Amazon 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

Improved

Scraping 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

Fixed

Fixed 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

Fixed

Fixed an issue where the usage detail modal displayed incorrect tier, format, and location information for scrape requests.

Minimum deposit raised to $10

Fixed

The minimum deposit amount has been raised from $5 to $10 to ensure meaningful account balances.

SSL certificate fallback

Fixed

Fixed scraping failures on sites with incomplete SSL certificate chains. These sites now scrape successfully with automatic certificate fallback.

Structured error responses

Fixed

When 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

New

You 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

New

Set up recurring scrape jobs using cron expressions. Schedules run automatically and apply your BYOP discount when configured.

Batch and schedule dashboards

New

New dashboard pages for managing batch jobs and schedules, with progress tracking, error details, and usage breakdowns.

Data Processing Agreement page

New

A new DPA page is now available for enterprise customers who need a formal data processing agreement.

Usage chart restored

Fixed

Fixed an issue where the usage chart on the dashboard was showing a placeholder instead of real data.

Failed requests in detailed logs

Fixed

Failed scrape requests now appear in your detailed usage logs, giving you full visibility into what went wrong.

Performance & Stability

General stability improvements

Improved

Internal performance optimizations to improve scraping reliability and reduce resource usage under high load.

Compliance & Security Hardening

OAuth sign-in crash fixed

Fixed

Fixed an issue where signing in with Google OAuth could crash due to a logging error in the fingerprint service.

Amazon coupon extraction improved

Fixed

Updated extraction selectors for Amazon product pages to correctly capture coupon and promotional offer data.

OFAC sanctions screening

Security

New 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

Improved

The usage page now shows your current balance prominently and removes misleading hover effects from non-interactive elements.

Google One Tap sign-in fixed

Fixed

Fixed several issues causing Google One Tap sign-in to fail, including session handling errors and redirect loops.

OAuth provider-not-linked error

Fixed

Fixed 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

New

You 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

New

A new notification bell in the dashboard alerts you to important events like promo code activations and account updates.

Enriched webhook payloads

New

Webhook 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

New

Every deposit now generates a proper Stripe invoice, making it easier to track payments and manage accounting.

Improved extraction quality

New

Better text and markdown output from structured data sources. Collection pages, financial data, and generic pages now return richer formatted content.

Blog added to navigation

New

The AlterLab blog is now accessible from the main site navigation across all pages.

Faster API response times

Improved

Scrape 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

Fixed

Fixed an issue where webhook retries from Stripe could result in duplicate credit grants to your account.

Usage modal data corrected

Fixed

Fixed the usage detail modal showing incorrect format and location information for individual scrape requests.

SSL certificate fallback

Fixed

Sites with incomplete SSL certificate chains no longer fail. The scraper now automatically falls back to handle partial certificate configurations.

Welcome modal scrape count corrected

Fixed

Fixed the welcome modal displaying 1,000 free scrapes instead of the correct 5,000.

Promo Codes & Notification System

Deposit promo codes

New

You 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

New

A new notification center in the dashboard keeps you informed about promo activations, account events, and important updates.

Deposit invoices via Stripe

New

Every deposit now generates a Stripe invoice with promo bonus shown as a distinct line item, making your payment history clearer.

Faster scrape responses

Improved

Synchronous scrape requests now return faster thanks to adaptive polling optimizations and cached extraction output.

SSL fallback for broken certs

Fixed

Sites with incomplete SSL certificate chains no longer fail. The scraper automatically handles partial certificate configurations.

Pricing & Billing Fixes

Updated pricing tiers

Improved

Adjusted pricing for advanced scraping tiers to better reflect operational costs. Check the pricing page for current rates.

Billing calculation fixes

Fixed

Fixed 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

Fixed

Fixed the usage detail modal showing wrong tier, formats, and location for individual scrape requests.

Smart Extraction & Minimum Deposit Change

Better collection page extraction

New

Product 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

New

Added optimized extraction for almaany.com, a major Arabic dictionary site, with dedicated content parsing rules.

Text and markdown from structured data

New

When 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

Improved

Significantly improved success rates on Cloudflare-protected sites by reducing false challenge detections and eliminating wasted time on unsolvable challenges.

Minimum deposit raised to $10

Fixed

The minimum deposit amount has been raised from $5 to $10 to align with payment processing requirements.

Dashboard layout improvements

Fixed

Fixed dead click areas, layout shift issues, and conversion gaps on the playground, billing, and usage pages.

Bug Fixes & Stability

Usage estimate routing fixed

Fixed

Fixed 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)

New

A 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

New

Amazon product scrapes now extract delivery information, promotional offers, and coupon details in the structured response.

OAuth2 authorization server

New

You can now connect AlterLab to third-party platforms like n8n using standard OAuth2 authorization. Manage connected apps from your dashboard.

Better generic page extraction

Improved

Non-article pages like homepages, landing pages, and app pages now return significantly better content extraction results.

Email verification required for API keys

Security

API key generation now requires a verified email address, improving account security and preventing abuse.

OTP Security & Pricing Refresh

Redesigned Pricing Page

Improved

The 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

Security

Added 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

New

Added 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

New

Introduced 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

New

Improved product data extraction for major e-commerce platforms, with better metadata parsing and support for client-side rendered product pages.

Social Media Profile Scraping

New

Added support for scraping social media profile data through dedicated API integrations, bypassing common anti-bot protections.

Scraping Performance Boost

Improved

Applied 14 performance optimizations across the scraping pipeline, resulting in faster response times especially for browser-based scrapes.

Playground Code Copy Fix

Fixed

You can now copy code examples from the playground without needing to be logged in.

2FA Email Delivery Fix

Fixed

Fixed a bug where two-factor verification codes were not being sent via email during account actions.

Playground Code Copy Fix

Copy Code Without Login

Fixed

You can now copy code examples from the playground without needing to sign in first.

Markdown-First Output & Request Details

Markdown-First API Output

New

API 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

New

The 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

New

A new requests estimator shows how many scrapes your remaining balance can support, displayed inline with your balance in the header.

Report Issue Button

New

You can now report scraping issues directly from the dashboard. Your feedback helps improve extraction quality for specific sites.

Source Tracking for Requests

New

Usage logs now distinguish between requests made from the playground versus your API integration, helping you track usage more precisely.

Improved Sign-In Error Messages

Improved

Sign-in errors now show clear, actionable messages instead of generic failures, and the page handles already-authenticated users gracefully.

Playground Layout Improvements

Fixed

Fixed several playground layout issues including results panel height matching and scrolling behavior for a cleaner experience.

OAuth Account Linking

Fixed

Fixed the OAuth account linking flow so you can properly connect Google or GitHub to an existing email account.

Stability Patch

General Stability Improvements

Improved

Internal maintenance and stability improvements for a smoother experience.

Support Tickets & Billing Fixes

Support Ticket System

New

You 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

Improved

The free tier now clearly shows 5,000 scrapes included, with updated messaging across the platform.

Better Scraping Success Rates

Improved

Improved stealth capabilities for sites with advanced bot protection, resulting in higher success rates on difficult targets.

Billing Balance Consistency

Fixed

Fixed issues with balance display occasionally showing stale values. Your balance and ledger are now always in sync.

Playground Run Button Feedback

Fixed

The 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

New

A 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

Improved

The playground configuration panel has been redesigned for better usability and scroll performance, making it easier to set up complex scrape requests.

Faster Dashboard Loading

Improved

Moved user data fetching to the client side, reducing initial page load time for the dashboard.

Clickable Balance Display

Fixed

Your balance display in the dashboard header is now clickable and navigates directly to the billing page.

OAuth Error Messages

Fixed

Improved error messages when OAuth sign-in encounters issues, so you can understand what went wrong.

OTP Verification & Inline Docs

Email OTP Verification

New

New 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

New

Access API documentation directly from the dashboard sidebar without leaving your workflow. Includes search to quickly find endpoints and examples.

Redesigned Pricing Page

Improved

The pricing page has been redesigned with improved UX, including a highlighted smart routing explanation showing how requests are optimally processed.

Better Firewall Detection

Improved

Improved 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

Fixed

Authenticated users visiting the public playground are now automatically redirected to the dashboard playground with full functionality.

CLI Terminal & Usage Analytics

Dashboard CLI Terminal

New

A 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

New

The 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

Improved

Dashboard displays have been refined for better readability with clearer labels and improved data presentation.

Mission Control Dashboard & SDK Update

Mission Control Dashboard

New

The 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)

New

Both 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

Fixed

Fixed an issue where chart lines could cross the axes in the usage dashboard, improving data visualization accuracy.

Usage Data Accuracy Fix

Accurate Success Tracking

Fixed

Usage 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

New

API responses now include source tracking to distinguish between playground and API requests, helping you monitor usage patterns.

Discord Integration

New

A Discord bot is now available for real-time production monitoring, incident management, and slash commands to interact with the platform.

Improved API Documentation

Fixed

Fixed several documentation issues including extraction schema field names, Python SDK async/await examples, and formatting in code samples.

Schema Field Compatibility

Fixed

Added missing field aliases to extraction schemas, ensuring playbook-specific field names map correctly to standard output fields.

General Stability Improvements

General stability improvements

Improved

Minor internal improvements to ensure consistent behavior across the platform.

Security Hardening & Billing Fixes

Billing system migration completed

Fixed

Completed 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

Fixed

When Google One Tap sign-in fails silently, you now see a clear error toast instead of nothing happening.

Rate limit tiers synchronized

Fixed

Rate limits displayed in the dashboard now accurately match the enforced backend limits for each tier.

Security vulnerability fixes

Security

Resolved 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

Improved

Minor internal improvements to ensure consistent behavior across the platform.

General Stability Improvements

General stability improvements

Improved

Minor internal improvements to ensure consistent behavior across the platform.

Lossless Extraction by Default

Lossless extraction by default

New

Structured 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

Fixed

The 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

New

AlterLab now supports integration with external API marketplaces. Marketplace requests are handled seamlessly with proper authentication and billing.

Searchable documentation

New

Documentation now includes a dynamic search index, making it much faster to find the endpoint or guide you need.

Node.js SDK documentation

New

Comprehensive SDK documentation is now available for both Python and Node.js, with usage examples and badges.

Searchable Documentation

Searchable documentation

New

Documentation now includes a dynamic search index so you can quickly find any endpoint, guide, or SDK reference.

Node.js SDK documentation

New

Comprehensive SDK documentation is now available in the docs sidebar, covering both Python and Node.js SDKs with examples.

v2.0.0

MAJOR

Smarter Content Extraction

Smarter content extraction

New

The 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

Fixed

Advanced 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

New

You 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

New

Jobs 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

New

The 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

New

Added 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

New

New 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

Fixed

Pricing 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

New

AlterLab 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

Fixed

When 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

New

The 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

Fixed

Resolved an error that could cause the dashboard statistics endpoint to fail with a database connection issue.

Dashboard tier display corrected

Fixed

Fixed 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

New

The 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

Fixed

Fixed an issue where your current tier was incorrectly displayed in the dashboard due to a normalization bug.

Pricing Update & Performance Boost

Updated pricing structure

New

Pricing 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

Improved

The 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

New

A 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

New

Scraping requests now use parallel IP racing and streaming optimization for significantly faster responses, especially on high-protection domains.

BYOP parallel IP support

New

Bring Your Own Proxy users can now benefit from parallel IP racing, improving success rates on difficult sites.

Automatic fallback for blocked sites

Improved

The scraping engine now intelligently remembers which approach works best for each domain and automatically skips methods that consistently fail.

Corrected rate limit display

Fixed

Email 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

New

You can now specify geographic locations for all Bring Your Own Proxy providers, enabling country-specific scraping for localized content.

Better anti-bot bypass success

Improved

Improved success rates on heavily protected sites like ticket marketplaces through enhanced challenge-solving capabilities.

Dynamic extraction from playbooks

Improved

The 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

Improved

Improved automated challenge-solving for sites protected by interactive verification, increasing success rates on heavily guarded domains.

Automatic proxy rotation for protected domains

Improved

High-protection domains like major retailers now automatically use IP rotation for better success rates.

Fixed worker crash on startup

Fixed

Resolved a missing module that could cause scraping workers to crash, improving overall reliability.

Job Monitoring and Auto-Escalation

Automatic proxy escalation

Improved

When a request is blocked, the system now automatically retries with proxy enabled, improving success rates without requiring manual intervention.

Reliable job status tracking

Fixed

Fixed data inconsistencies between the job queue and dashboard, so job statuses now accurately reflect real-time progress.

Fixed sidebar layout on first load

Fixed

Resolved an issue where the dashboard sidebar would render at the wrong width on the initial page load.

Organizations and Mobile Improvements

Organization member permissions

New

Organization members now have proper permission checks when creating API keys, ensuring team access controls work correctly.

Better mobile experience

Improved

Improved responsiveness across the entire platform for a smoother experience on phones and tablets.

Clearer insufficient balance errors

Fixed

When 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

New

Sign in instantly with a single tap using your Google account, no password required. Available across the platform.

Fixed demo overlay buttons

Fixed

The interactive demo buttons on the homepage now work correctly, letting you try the API without signing up.

Fixed signup credit grant

Fixed

New signups now correctly receive their welcome credits and email verification even when email delivery is unavailable.

Reddit scraping enabled

Fixed

Reddit scraping now works reliably with automatic proxy routing for consistent results.

Reliability and Pricing Precision

Higher throughput and reliability

Improved

Significant reliability improvements ensure failed scrapes return errors immediately instead of silently retrying, giving you faster feedback.

Sub-cent pricing precision

Improved

Pricing now supports 4 decimal places, ensuring accurate billing for high-volume users with sub-cent per-request costs.

Fixed dashboard crash on unknown status

Fixed

The dashboard no longer crashes when encountering jobs with unexpected status values.

Horizontal Scaling and Balance-Based Limits

Higher throughput and reliability

New

The scraping infrastructure now scales horizontally with multiple worker replicas, delivering higher throughput and better reliability under load.

Balance-based rate limits

Improved

Concurrency 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

Fixed

The BYOP proxy integration modal has been redesigned to prevent content clipping and improve usability.

Parallel Scraping and Reddit Support

3x faster with parallel scraping

New

Scraping now races multiple approaches in parallel instead of sequentially, dramatically reducing response times especially for protected sites.

Reddit scraping support

New

Full support for scraping Reddit posts, comments, and profiles with optimized extraction that delivers clean structured content.

Request detail modal

New

A new detail modal in the playground shows the full scrape journey for every request, including timing, approach used, and content extracted.

Consolidated JSON output

Improved

JSON extraction output no longer produces triple-duplicated data, giving you a cleaner and more usable response.

Fixed playground storage error

Fixed

Resolved a localStorage quota error that could prevent the playground from saving your scraping history.

Job status visible in dashboard

Fixed

Scrape 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

New

A new split worker architecture delivers 3x higher throughput, meaning your batch scrapes and concurrent requests complete significantly faster.

Location-based proxy targeting

New

BYOP users can now specify geographic locations for their proxy requests, enabling country-specific scraping for localized content.

Balance-based concurrency tiers

New

Concurrency limits now scale with your account balance instead of fixed plans. Higher balance means more simultaneous requests.

Dashboard shows correct tier

Improved

The dashboard now displays your actual balance-based tier instead of a legacy subscription plan name.

Fixed BYOP proxy toggle

Fixed

Resolved a bug where switching proxy providers would carry over stale configuration from the previous provider.

PDF Generation and Organizations

PDF generation

New

Generate full-page PDF snapshots of any URL through the API. PDFs are served via a dedicated downloads endpoint with direct URL access.

Organization workspaces

New

Create organizations and invite team members to share API keys, billing, and usage under a single workspace.

Redesigned billing experience

Improved

The 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

Improved

CTA buttons and header navigation now route logged-in users directly to the dashboard instead of showing the sign-in modal.

Welcome modal redesign

Improved

New users see a polished welcome experience with clear onboarding guidance after signing up.

Fixed balance display rounding

Fixed

Account balance now truncates instead of rounding, preventing misleading display of fractional cents.

Caching is now opt-in

Fixed

Response 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.