API Changelog
A running log of changes to the AlterLab API. New endpoints, breaking changes, improvements, and fixes.
Versioning Policy
/api/v1/). Breaking changes get a 90-day deprecation window. See the API Versioning Policy for details.Latest Changes
Guided Interactive First Scrape
The onboarding experience now guides you directly into a pre-configured sample request within the playground. You can execute a reliable initial scrape immediately upon signup without manual configura...
Faster Timeouts for Unreachable Requests
Requests hitting irrecoverable block pages now terminate immediately without stalling through retry cascades. This reduces response latency and frees up request throughput when target sites are blocke...
Smarter Regional Route Selection
The request engine now remembers failure outcomes across geographic locations to bypass blocked paths automatically. This improves success rates for location-sensitive target sites while optimizing ov...
Transparent Signup Credit Display
Signup grants and balance indicators now clearly display a $1 free credit alongside per-tier pricing details. This ensures predictable usage tracking across different scraping parameters and target co...
Reliable Zero-Result SERP Processing
Fixed an issue where search engine API calls returned gateway timeout errors on pages with no organic search results. Search requests now complete successfully and return valid structured payloads reg...
OAuth Authorization Redirect Handling
Resolved a security policy conflict that blocked redirects during the OAuth consent step. External client applications can now authenticate and complete authorization flows without interruption.
Accurate Remote Proxy IP Attribution
Requests routed through remote tool proxies now correctly forward the original end-user IP address. This ensures IP allowlists and geographic access policies are enforced accurately across proxy conne...
General bug fixes and improvements
Plus 14 internal improvements for better reliability and performance.
fix(AI engine): give learning-gate consumer fixture the state reads
The test fixture builds via and now sets the attributes provides, which 's deferral path reads.
fix(api): schedule auto-pause counts platform queue-full and stale-claim failures — capacity inciden
| File | Change | Requirements |.
perf(dashboard): detailed-logs crawl grouping via partial index and keyset pagination
The page query in mode does not bound its work by the page size:.
fix(backup): logical-generation selectors fail closed on an in-progress generation instead of skippi
Both workflow selectors (introduced in c203331a45, "make logical publication atomic") copied the writer's strict whole-namespace inventory validation instead of the reader semantics of th.
fix(monitoring): publish recovery outcomes for billing/payment error-trigger checks
These checks predate the fail-closed recovery contract (/).
feat(monitoring): stable check keys and fail-closed recovery closer for log-monitor eMemos, plus sta
log-monitor has no stable logical identity per issue class.
fix(stealth): worker image installs floating latest Chrome (155) while identity constants claim Chro
The Chrome binary install was written as a floating (introduced in b509d0ae8c, moved in c4a422b001/c320b45fc7 for root/su reasons) while the identity was later frozen at a HTTP client-verified major (...
fix(monitoring): stop labelling warning-threshold counts Critical in error-trigger eMemos and list u
Severity is a one-way ratchet: the filename and Severity line record the peak, never the current observation, and an age/cycle timer converts mere persistence into Critical.
decide: re-measure Cloudflare T4 after and set telemetry-gated policy for cloudflare_js and cloudfla
This is policy, not a code defect.
feat(monitoring): alert on Cloudflare Workers daily request quota before Error 1027
The Workers request quota was never instrumented.
General bug fixes and improvements
Plus 10 internal improvements for better reliability and performance.
Auto-pause for failing schedules
Scheduled jobs now track consecutive failures and automatically pause when targets remain broken. You will receive instant notifications so you can investigate before wasting API credits.
Automatic fallback on request challenges
You can now enable opt-in fallbacks for high-tier extraction requests. If a request encounters a challenge or timeout, the system automatically attempts secondary extraction modes.
Adaptive per-domain request pacing
Request pacing now dynamically adjusts based on real-time target domain responsiveness. This improves overall extraction throughput while minimizing blocks and strain on target servers.
Automatic back-off for URL failures
Consecutive failures on specific URLs now trigger automatic back-off delays. This halts repetitive retries against unreachable endpoints and conserves your API credit quota.
Bounded concurrency for sticky sessions
Sticky session connections now enforce concurrency limits across requests. This guarantees consistent session reuse and improves extraction success rates during multi-step web flows.
Accurate billing for challenge responses
Resolved an issue where responses returning challenge pages were marked as successful extractions. Requests blocked by target site challenges are no longer charged full credits.
Correct batch job refund calculation
Fixed a ledger calculation discrepancy for batch extractions. Failed individual jobs inside a batch now correctly receive credit refunds against the initial batch debit.
Real-time credit balance cache updates
Fixed cache ordering gaps during credit balance updates. Account balances and API entitlement limits now update immediately in real time following any transaction.
Search endpoint request stability
Fixed network egress timeouts occurring on search extraction calls. Search requests now experience consistent response times and higher overall completion rates.
General bug fixes and improvements
Plus 58 internal improvements for better reliability and performance.
Subresource Caching for Faster Rendering
Browser-rendered requests now cache static assets like scripts and stylesheets. This significantly reduces response latency and accelerates page rendering.
Accurate Minimal Page Delivery
Single-page app shells, directory listings, and minimal landing pages are now recognized and delivered accurately. Content is returned immediately without being misclassified as blocked or triggering ...
Faster Processing for Sparse Content
Eliminated redundant retry loops when requests encounter pages with naturally minimal markup. Scrapes now complete much faster when pages contain limited body text or basic layouts.
Reduced False Detection Blocks
Resolved an issue where lightweight tracking scripts injected by target site security systems were falsely flagged as challenges. Scraped pages now return their complete response body without false bl...
Enhanced Browser Session Reliability
Fixed an operational issue where browser rendering processes could fail on worker nodes without active virtual displays. Display environments are now verified prior to execution to guarantee seamless ...
General bug fixes and improvements
Plus 1 internal improvement for better reliability and performance.
Format-aware repeat detection caching
Scraping requests for identical URLs using different output formats now correctly bypass cached data generated in other formats. This ensures you receive properly formatted scraped content every time ...
General bug fixes and improvements
Plus 3 internal improvements for better reliability and performance.
Job Request Option Snapshots
Scraper jobs now store a snapshot of submitted options like JavaScript rendering, timeouts, and cost caps. This allows you to easily audit and reproduce request behavior from your dashboard.
Fast Failures on Unreachable Target Sites
When target servers are unreachable, requests now fail fast instead of running extended retries. This reduces response times by up to 80 seconds on offline targets and avoids extra charges.
Accurate Target Health Monitoring
Domain health tracking now ignores user-level rate limits and skipped retry steps. This prevents false domain pauses and keeps your extraction pipelines running smoothly.
Modern Web App Content Validation
Pages containing large inline hydration state are no longer incorrectly flagged as empty shells. This ensures complete content extraction on modern web applications.
Precise Target Error Classification
Target site server errors and 5xx status codes are now accurately classified as origin errors rather than security blocks. This improves status reporting clarity and retry routing.
Reliable Target Connection Timeouts
Connection timeouts during target site checks are now handled more accurately. Inconclusive proxy connections are distinguished from down targets for predictable request resolution.
Automatic Recharge Status Resolution
Fixed an issue where automatic balance top-ups could stay stuck pending after payment gateway errors. Failed recharges now resolve cleanly so you can retry or update billing details.
API Key Authentication Stability
High server load no longer triggers false unauthorized errors or IP security flags on valid API keys. When authentication capacity is briefly saturated, the API now returns 503 with error auth_unavail...
render_js Requires a Tier 4 Cap
Requests that set advanced.render_js to true with cost_controls.max_tier below "4" are now rejected with 422 at submission, before any charge, on /api/v1/scrape, /api/v1/batch items and /api/v1/crawl....
General bug fixes and improvements
Plus 11 internal improvements for better reliability and performance.
Account-wide rate limits
Rate limits are now evaluated across your entire account rather than per individual API key. This ensures consistent capacity management when distributing API keys across multiple services.
Extraction cost analytics API
A new API endpoint provides detailed metrics on verified data extraction costs and coverage rates across your requests. Use these insights to optimize request parameters and monitor cost efficiency in...
Resource bounds for PDF parsing
PDF parsing and text extraction now include safety limits on document size and stream decompression. This prevents timeout errors when processing complex or highly compressed PDF documents.
Improved challenge page detection
Diagnostic responses now accurately identify verification challenges appearing on 4xx HTTP status pages. Scrapes on affected sites now properly report verification requirements rather than generic ori...
Enhanced anti-detection compatibility
Updated request execution profiles to better match standard browser behavior on protected target websites. This improves success rates on domains enforcing strict security checks.
Batch billing reconciliation fixes
Fixed edge cases where add-on features like proxy routing and structured extraction were miscalculated during batch job execution. Billing reconciliations now accurately reflect actual job usage.
Dashboard deposit UI fixes
Resolved issues in the web dashboard where payment authorization errors were collapsed into generic messages. You can now view structured error feedback and manage quick deposits seamlessly.
Authenticated request limit fix
Fixed an issue where valid API key requests within your plan allowance were occasionally throttled by secondary rate limiters. Keyed requests now reliably receive their full plan throughput.
Preserved batch error details
Error classification categories and failure diagnostics are now permanently retained for failed or cancelled batch jobs. This enables easier troubleshooting through the dashboard and API.
Dashboard support connection stability
Fixed an issue where live support sessions in the dashboard could enter an unrecoverable state after transient disconnects. The widget now automatically reconnects and resumes your chat session.
Web session security hardening
Hardened dashboard authentication proxies and session binding validations across administrative routes. This provides stronger access controls and protects user sessions against unauthorized proxying.
General bug fixes and improvements
Plus 47 internal improvements for better reliability and performance.
Reliable SDK Batch Scraping
Resolved an issue where batch scraping calls in the Python and Node SDKs returned request formatting errors. Batch jobs now serialize correctly and execute without failure.
Uninterrupted Authenticated API Traffic
Fixed an issue that caused valid API requests using API keys to trigger unexpected rate limits. Authenticated traffic now bypasses global rate-limiting checks seamlessly.
Zero-cost short-circuiting for constraint limits
When request parameters set execution limits below what a target domain requires, requests now short-circuit immediately. These requests return instant diagnostic feedback without incurring billing ch...
Faster validation for unreachable target servers
Lightweight pre-checks now verify target web server availability before full execution. Requests targeting unreachable origins fail significantly faster, avoiding unnecessary waiting times.
Accurate messaging for target DNS errors
Transient domain resolution failures on target URLs are no longer misclassified as security blocks. You now receive explicit error feedback whenever a target hostname fails to resolve.
Clearer diagnostic error and suggestion messages
Error messages and troubleshooting tips returned during access blocks have been updated for clarity. Diagnostic responses now offer actionable guidance instead of suggesting sites are unscrapable.
Restored page context in script evaluation
Custom JavaScript evaluation actions now execute in the main page window context as expected. Evaluated scripts maintain full access to DOM elements, window properties, and global objects.
Safe payment deposits during network dropouts
Quick-deposit account funding calls now include idempotency keys and enhanced retry safety. Network connection dropouts during deposit processing no longer report false failure statuses.
Historical analytics for organization accounts
Organization usage dashboards and breakdown charts now correctly include historical usage recorded before team setup. Account administrators can view complete usage trends across all billing periods.
Accurate organization refund attribution
Automatic refunds for add-on services now strictly attribute credits to the organization funding principal. Credits are reliably returned to the primary team wallet in multi-user accounts.
General bug fixes and improvements
Plus 23 internal improvements for better reliability and performance.
fix(ci): track restore-drill verifier pin a115befe in its contract test
(, merged via ) moved the immutable storage verifier pin in from to (object-data-policy V4).
prune-storage orders generations by caller-chosen filename stamp (review finding — )
in ranked storage generations by the client-chosen filename stamp, so a holder of the key could commit far-future generations and make delete every real generation in a lane (review finding from .
fix(stealth): make advanced browser device classes coherent across identity, client hints and TLS
## Audit findings (why current behavior existed).
fix(worker): native Firefox identity on the T4 Firefox engine
## Audit (why it was this way).
fail-closed target egress helper, origin-egress metric, AST CI guard
Adds (, ): SSRF and request-time DNS validation, system proxy only (no proxy means refusal, never a direct origin-IP fetch), one pinned UA/header set per call, manual redirect loop re-validating every...
remove origin-IP content-type HEAD and smart-render probe, delete dead egress code
Stops the live origin-IP leak: the API sent unproxied requests to customer targets on extensionless scrape submissions ( HEAD) and a self-identifying GET for.
fix(monitoring): alert on per-job thin-content false successes, not T4 selector misses
divided (per T4 browser *attempt*, includes retries and later-failed jobs, "miss" = generic article selectors absent in ~2s) by (per job, all tiers).
give T1 a bounded grace after an early T2 win in the tier race
In the T1/T2 tier race, T1 gets a 1 s head start before T2 (HTTP client) also starts.
tier-learning attribution, evidence wiring, BYOP rotation counter (, )
Accounting, wiring and telemetry only — no escalation or tier-selection change.
T3 pool lease setup and tier rejection log context (, )
Members: , .
fix(monitoring): ensure jq on cloud provider from root cron setup; detect blind probe venv
- (run as root on every deploy by ) now ensures via apt-get.
route the storage_shared backup lane to Netcup (netcup:storage policy scheme, sender + verifier)
Owner decision : publish the protected user-uploads lane to the Netcup relay namespace instead of .
storage namespace + backup-storage-relay account in the Netcup backup relay
Owner decision moves the protected user-uploads backup lane off Cloudflare onto Netcup.
owner-lease fenced profile claim republish
The stale-claim reaper republished a processing profile claim once its heartbeat score was older than 120s, with no proof the original handler had stopped.
LLM inbound filter for support@ routing ticket / crm / ignore
Every email to support@ currently becomes a ticket (34 of 98 email tickets on 2026-10-10 were noise, 6 were CRM/sales).
General bug fixes and improvements
Plus 9 internal improvements for better reliability and performance.
Isolated Custom Browser Sessions
Custom browser scraping requests now enforce state isolation between concurrent calls. Cookies and local storage are kept isolated per request, preventing cross-session data leaks.
Expanded Request Diagnostic Traces
Diagnostic endpoints now include full trace histories and metadata for automated retries. You can inspect exact request details to simplify debugging failed attempts.
Updated Modern Browser Signatures
Automated request headers now match current modern browser release versions and header standards. This resolves unexpected challenge blocks on target websites with strict browser checks.
Higher Challenge Resolution Reliability
Request routing and retry mechanisms have been refined for protected target websites. Requests now achieve significantly higher success rates and reduced challenge failure rates.
Billing Usage Chart Availability
Fixed a server error that occurred when fetching usage charts without explicit parameters. Billing usage endpoints now reliably return historical consumption data.
Consistent Error Response Headers
Cached error responses for missing or deleted pages now properly retain execution headers. Duplicate job tracking identifiers have also been removed from cached error responses.
Scraping Profile Update Integrity
Resolved an issue where delayed requests could overwrite actively rebuilding scraping profiles. Profile configurations now accurately reflect only the latest requested build state.
Support Email Thread Matching
Inbound support replies now accurately match existing ticket threads across merged conversations. This prevents duplicate tickets when responding from different email clients.
Accurate Client IP Evaluation
Authentication rate-limiting guards now correctly identify real client IP addresses through proxy paths. This ensures fair rate limit enforcement and improved security.
General bug fixes and improvements
Plus 12 internal improvements for better reliability and performance.
General improvements
This release includes general improvements and maintenance updates.
How to Stay Updated
Check this page for a summary of all API changes with each release.
Visit the full changelog for a detailed, filterable timeline of all product updates including frontend and infrastructure changes.
Watch for deprecation headers in API responses. Deprecated endpoints return a Sunset header with the removal date.
Change Types
| Type | Description | Action Required? |
|---|---|---|
| New | New endpoints, parameters, response fields, or SDK methods | No |
| Improved | Performance improvements, better error messages, enhanced behavior | No |
| Fixed | Bug fixes, corrected behavior, resolved edge cases | No |
| Security | Security patches and vulnerability fixes | Review recommended |
| Breaking | Removed fields, changed types, removed endpoints (announced 90+ days in advance) | Yes - update your code |
Full Changelog
For a complete, filterable timeline of all AlterLab updates including frontend changes, infrastructure improvements, and more, visit the full changelog.
View Full Changelog