Changelog

What's new in Verid

Every major change, newest first - new capability, capabilities that materially changed, and defects that were producing wrong output, dated to the day each one shipped.

Newcapability that did not exist before
Improvedan existing capability materially changed
Fixeda defect that was producing wrong output
October 2026
  1. NewOctober 9, 2026

    Request a feature or leave a testimonial from the site

    Two new pages let you send the Verid team a feature request or a testimonial. Both are linked from the site footer and from the Feedback section of the dashboard sidebar.

    You do not need an account; if you are signed in, the submission is linked to it. A testimonial is never published unless you tick the publish box and the team approves it, and your email is never shown. Each form accepts up to 5 submissions per hour from one network.

  2. NewOctober 5, 2026

    Buy run credits that never expire

    You can now buy extra runs as a one-time purchase, at $10 per 1,000 runs. Run credits never expire and are used only after your monthly plan runs are gone.

    Pick any amount from 1,000 to 1,000,000 runs on the billing page. Credits work on every plan, Free included, and on normal, visual and SERP checks, with one credit per SERP result page. With credits, SERP monitors run even on a plan without SERP, and on those plans every SERP run comes from credits. Checks stop only when both your monthly runs and your credits are used up.

    Price
    $10 per 1,000 runs, 1,000 to 1,000,000 in steps of 100
    API
    runCredits and serpViaCredits on GET /v1/usage; credits_remaining on 429 RUN_LIMIT_REACHED
  3. ImprovedOctober 4, 2026

    Cancelling a plan now keeps it until the end of the billing period

    When you cancel a paid plan, it now stays active until the end of the billing period you already paid for, then your account moves to the Free plan. Before, cancelling switched you to Free immediately.

    You are not charged again after cancelling, and the billing page shows the date your plan ends with a Keep my plan button to undo it before then. Once you are on Free, its monthly runs apply, and SERP monitors stop if your 14-day SERP trial has already ended. Deleting your account still ends the subscription immediately.

  4. ImprovedOctober 3, 2026

    Plans now differ by monthly runs, with unlimited monitors and 1-minute checks

    Every plan now allows unlimited monitors and checks as often as every minute (SERP every 10 minutes). Plans differ by how many runs you get each month, where one check is one run.

    Free includes 200 runs plus 100 visual runs a month and a 14-day SERP trial with 100 SERP runs. Lite has 1,000 runs, Starter 5,000, Pro 15,000 and Scale 100,000, shared across normal, visual and SERP checks; a SERP check uses one run per result page. There are no overage charges: when a month's runs are used up, checks stop until the 1st, you get one email, and the API answers with HTTP 429 and the error code RUN_LIMIT_REACHED; upgrading resumes them right away. The overview page shows runs used this month and a daily chart.

    Runs per month
    Free 200 + 100 visual, Lite 1,000, Starter 5,000, Pro 15,000, Scale 100,000
    Fastest check
    Every 60 seconds (SERP: every 600 seconds)
    Limit reached
    429 RUN_LIMIT_REACHED with used, limit and resets_at; no overage charges
  5. NewOctober 3, 2026

    SERP monitors can check up to 5 result pages

    A SERP monitor can now check 1 to 5 pages of search results, roughly the top 50, for both rank tracking and SERP analysis.

    Pick the number of pages when you create or edit a monitor, or send the new pages field on the API. Each page counts as one run from your monthly runs, so more pages also make each check take longer. Ranks run across pages, and alerts only compare the results both checks covered, so changing the setting never fires an alert by itself.

    New field
    pages: 1 to 5 on /v1/serp-monitors (default 1)
    Runs
    One run per page, every check
  6. ImprovedOctober 1, 2026

    Every changed run keeps its own content diff

    On full-page monitors, the Content changes view now appears on every run that detected a change, not only the most recent one.

    Each changed run stores the page content from before and after that check, so you can open any earlier change in the run history and see exactly what moved. The stored content is removed with the run when your plan's history retention expires. Runs checked before this release still show the diff only on the latest one.

September 2026
  1. ImprovedSeptember 30, 2026

    Run diffs get a Text view of the page and clearer line matching

    The Content changes view on a run can now switch from the HTML markup to a Text view of what a visitor reads on the page, with each line labelled by its element, such as H1, P, LI, BUTTON, LINK or IMAGE.

    Both views show removed lines in red above added lines in green in one column, with the exact changed words highlighted and a count of added and removed lines at the top; Side by side gives the two-column view. A changed line is only lined up against a line that really resembles it, so unrelated edits no longer read as one garbled change.

  2. NewSeptember 29, 2026

    Monitors can send POST requests and follow every page of an API

    A monitor can now send POST, PUT or PATCH with a request body, such as a GraphQL query, and follow a paginated API page by page so every item is checked in one run.

    Set it under Advanced options in the monitor form, or with the new request_config field on the API. Pagination follows a page number or offset, a cursor from the response, a next-page URL, or a Link header, and all items are merged into one array that JSONPath fields read as a single list. A custom request is always fetched directly, never through the browser, and a page error or a list the page limit cuts short fails the run rather than saving partial data.

    New field
    request_config: { method, body, pagination } on /v1/monitors
    Pagination types
    page, cursor, next_url, link_header
    Page limit
    Up to 50 pages per run (default 20)
  3. ImprovedSeptember 26, 2026

    SERP Analysis shows a diff of each result list against the previous one

    A SERP monitor in full_analysis mode now takes only a keyword, with no target domain, and returns page 1 as JSON with rank, title, description and domain for every result. Open any check on the dashboard to see its list diffed against the previous one.

    An alert now fires when any of those four fields changes, including title or description wording. The webhook carries the previous list next to the current one. Descriptions are now read from every engine's results page, and Google results that came back as redirect links now resolve to the real site, which also fixes rank matching on Google. Sending target_domain with full_analysis returns a 422.

    Result shape
    { rank, title, description, domain } per result, domain as the site origin (https://www.g2.com/)
    Webhook payload
    serp_analysis: { keyword, results, previous_results }
  4. ImprovedSeptember 21, 2026

    Docs site rebuilt, with Cmd+K search

    docs.verid.dev now runs on the same stack as verid.dev, shares its navbar, footer and themes, and adds a Cmd+K search across every docs page.

    Search runs in the browser over a built-in index of page titles, descriptions and key terms, with no external service. Code samples get a copy button, and /llms.txt and /llms-full.txt are generated from the same page list as the sidebar, so they never go out of date.

  5. NewSeptember 21, 2026

    SERP monitors get an Analysis mode for the full page-1 result list

    Set mode to "full_analysis" on a SERP monitor and every check returns the whole page-1 organic result list (position, title, url, domain, description) instead of one domain's rank.

    Alerts fire only when the list changes between two checks: a domain entering, leaving or moving position. Snippet wording is ignored, and the first check never alerts. It is the same endpoint and the same plan limits as rank tracking, and a monitor can switch between the two modes at any time.

    New field
    mode: "rank_tracking" (default) | "full_analysis" on /v1/serp-monitors
    Run response
    organic_results on GET /v1/serp-monitors/{id}/runs, in both modes
    Webhook payload
    new serp_analysis block: { keyword, results }
  6. NewSeptember 11, 2026

    Bulk pause, resume and delete, plus CSV export, on the monitor list

    Select monitors on the dashboard list to pause, resume or delete them together, and export the list as CSV.

    One request handles up to 500 monitors. Any that cannot be changed (not found, or locked by a plan limit) are reported back individually while the rest go through. Resuming clears the failure count, so an auto-paused monitor starts clean. The export follows the current search and status filter, or exports only the selected rows.

    Bulk endpoint
    POST /api/v1/monitors/bulk, up to 500 ids
    Export endpoint
    GET /api/v1/monitors/export
    CSV columns
    Name, URL, Status, Interval (seconds), Last run, Next run, Created
  7. FixedSeptember 10, 2026

    SERP tracking: domain matching, plan downgrades and run-now fixed

    A target_domain saved with https://, www. or extra spaces now matches, plan downgrades now apply to SERP monitors, and run-now on a paused SERP monitor returns an error instead of pretending to queue.

    A domain saved as https://example.com never matched a result read as example.com, so the rank stayed empty and alerts never fired. Both sides are now normalised before comparing. On a downgrade, SERP monitors over the new cap are locked (oldest kept) and any checking faster than the new minimum are slowed to it. Run-now on a paused monitor returns 409 and uses no quota.

  8. ImprovedSeptember 1, 2026

    SERP tracking moves to its own "+ SERP" plans

    SERP tracking is now sold as four "+ SERP" plans, each with everything in its base plan plus SERP monitors. The base plans no longer include SERP tracking.

    A "+ SERP" plan replaces its base plan rather than being charged on top of it. Its SERP monitor cap equals its regular monitor cap.

    Prices
    Lite + SERP $14/mo, Starter + SERP $29/mo, Pro + SERP $74/mo, Scale + SERP $224/mo
    SERP monitors
    25, 50, 250 and 1,500
    Minimum interval
    Daily, 12 hours, 6 hours and 1 hour
  9. NewSeptember 1, 2026

    SERP monitors: keyword rank tracking as its own monitor type

    A SERP monitor tracks a keyword and an optional target domain on Google, Bing, Yahoo, DuckDuckGo or Yandex, stores the rank and its change on every check, and alerts when the movement crosses your threshold.

    Every engine is checked directly in a browser first. Only Google falls back to a paid results API, and only when the direct check is blocked. An alert fires when the rank moves by at least rank_change_threshold, or when the domain enters or leaves the results. Rank change is measured from the second check onward, with no backfill. After 10 failed checks in a row the monitor pauses and emails you.

    Endpoints
    /v1/serp-monitors: create, list, get, update, delete, pause, resume, run, runs, signing-secret
    SDK
    client.serpMonitors in @verid.dev/sdk
    Per-run fields
    target_rank, rank_delta, ai_overview_present, featured_snippet_present
August 2026
  1. FixedAugust 24, 2026

    Google SERP monitors report a block instead of storing it

    Google answers clients that do not run JavaScript with an HTTP 200 "enable JavaScript" page, which was saved as a successful but empty check. Google results are now rendered in a browser, and a block is recorded as a blocked check.

    A check now waits for the results container and treats a 429, 403, 503, a redirect to /sorry/ or a reCAPTCHA as a block. Blocks are not retried: the engine is paused for 15 minutes, doubling up to 6 hours, and a check during the pause fails in about 60 ms without contacting Google. Queries to the same engine are spaced at least 30 seconds apart across all workers. This makes Google failures honest and cheap, not rare; Bing, DuckDuckGo and Yahoo remain the dependable engines.

  2. ImprovedAugust 15, 2026

    Playground URL comparison compares content, not markup

    Compare two URLs in the playground now compares title, meta description, headings, prices, call-to-action labels and word count field by field, instead of diffing both pages' HTML.

    A markup diff between two different sites marked about 98% of lines as changed, which told you nothing. Navigation, footers, cookie banners and hidden elements are removed first, a number only counts as a price when it has a currency, and both pages are shown side by side as readable text. It still costs 2 of the 5 hourly checks.

  3. NewAugust 14, 2026

    The playground returns a diff on the very first check

    A first check in the playground now diffs the live page against the Internet Archive's latest capture that is at least 7 days old, and adds tabs to test selectors, preview alerts, test alert rules, copy the API call and take a screenshot.

    Selector tests (CSS, XPath, regex, JSONPath) run on the page already fetched, so they do not use your 5 hourly checks. The alert preview and rule tester use the same code as real monitors. Screenshots need an email address and are limited to 2 a day. Every result gets a shareable link that lasts 24 hours.

  4. NewAugust 11, 2026

    Residential proxy fallback can be switched off

    A new setting controls whether a blocked check is retried through the residential proxy or simply fails. It is on by default on plans that include proxy bandwidth.

    Switch it off to save your monthly proxy bandwidth, or when proxied requests from other countries return regional prices or consent pages. Blocked checks then fail with a clear reason. On Free and Lite the switch is locked off, as those plans have no proxy bandwidth.

    Where
    Settings > Scraping > Residential proxy fallback
    API
    PATCH /v1/settings with {"proxy_enabled": false}
    Proxy bandwidth
    Starter 50 MB, Pro 500 MB, Scale 5 GB per month
  5. FixedAugust 9, 2026

    Webhook signing secret is now readable, so signatures can be verified

    Webhooks were always signed, but the secret needed to verify them was never exposed. A new endpoint returns it, and the monitor page shows it under Config.

    The endpoint returns the secret for a monitor you own, or null if the monitor has no webhook. The encrypted copy is no longer included in monitor responses. How deliveries are signed has not changed.

    Endpoint
    GET /v1/monitors/{id}/signing-secret returns {"secret": string | null}
    Header
    Verid-Signature: t={timestamp},v1={signature}, HMAC-SHA256
  6. FixedAugust 9, 2026

    CSS extraction skips inline scripts; bad API requests return 400, not 500

    A CSS selector matching a container no longer includes inline script and style code in its value, and API requests with a missing or invalid JSON body now return a client error instead of a server error.

    Inline JSON-LD and CSS change on nearly every deploy, so they caused false change alerts. Selecting a script tag directly still returns its contents. Affected monitors report one change on their next check, then settle. Key rotation now defaults to a 24-hour grace period for the old key.

    Error codes
    Missing body: 422 VALIDATION_ERROR. Invalid JSON: 400 INVALID_JSON.
  7. FixedAugust 8, 2026

    Visual regions below the fold are captured correctly

    Visual regions lower on the page than the browser window no longer fail, and regions crossing the bottom of the window are no longer cropped.

    Region captures are now taken against the full page height. No edit is needed; the first check after the fix may report one change because the image size changed. When a capture fails, the Visual tab now shows the reason for each region instead of "No screenshots yet".

  8. NewAugust 1, 2026

    Lite plan: 25 monitors on a two-hour check interval

    Lite is a new paid plan between Free and Starter, with 25 monitors, checks as often as every two hours, and 90 days of history.

    Every extraction method, condition and delivery channel is included. The residential proxy stays on Starter and above.

    Limits
    25 monitors, 2-hour minimum interval, 90-day retention, 2 destinations per monitor
    AI extraction
    250 calls per month
    Visual monitoring
    3 visual monitors, 1 GB of screenshots per month
July 2026
  1. NewJuly 16, 2026

    Visual monitoring: screenshot diffs scoped to regions

    Any monitor can screenshot the page on every check and compare it pixel by pixel with the previous one, limited to the regions you choose.

    It runs alongside the monitor's normal extraction with its own trigger, a changed-pixel percentage that defaults to 1%. Pick up to 20 regions (a CSS selector or a drawn box) and hide noisy elements such as cookie banners with up to 20 ignore selectors.

    Visual monitors
    Free 1, Lite 3, Starter 10, Pro 75, Scale 500
    Screenshot storage
    200 MB, 1 GB, 5 GB, 50 GB and 500 GB per month
June 2026
  1. ImprovedJune 19, 2026

    AI extraction retries and falls back to a second provider

    AI extraction now retries temporary provider errors and switches to a second model provider if the first stays down, so an outage no longer fails the check.

    Retries do not count against your monthly AI quota. Monitors that auto-pause after repeated failures now email you.

    Monthly AI calls
    Free 50, Lite 250, Starter 500, Pro 5,000, Scale 25,000
  2. ImprovedJune 7, 2026

    Paginated run and delivery history

    Run and delivery history now load a page at a time, so large accounts with long retention stay fast.

    Retention
    Free 14 days, Lite 90, Starter 180, Pro 365, Scale 730
May 2026
April 2026
  1. NewApril 27, 2026

    llms.txt and raw markdown for AI agents

    Verid publishes an llms.txt file and a markdown version of every docs and marketing page, so AI agents can read them without parsing HTML.

    Also: deliveries that fail all their retries now trigger an email alert.

  2. ImprovedApril 9, 2026

    A browser engine built to survive bot detection

    The browser layer was replaced with one hardened against bot detection, so many protected pages that plain headless Chrome could not load now work.

    The plain HTTP fetch is still tried first. The browser is used when needed, and the residential proxy (Starter and up) only when the browser is blocked.

March 2026
  1. NewMarch 25, 2026

    28 worked use-case walkthroughs

    28 use cases, each showing the extraction method, the condition and the delivery setup for a real monitoring job.

    Also: plan downgrades now apply the new plan's limits, and accounts created with Google can add a password.

  2. ImprovedMarch 7, 2026

    Authentication rebuilt in-house

    Sign-in now runs on Verid's own session layer: sessions stored only as SHA-256 hashes, scrypt password hashing, and Google OAuth, with email and Google allowed on the same account.

February 2026
  1. NewFebruary 14, 2026

    Signed webhooks, Slack, Discord and email, per monitor

    Each monitor can deliver to webhooks, Slack, Discord and email, with HMAC-SHA256 signed webhooks, automatic retries and a dead-letter queue for failures.

    Signature header
    Verid-Signature: t=<timestamp>,v1=<hex HMAC-SHA256>, Stripe-compatible
    Retries
    3 attempts, exponential backoff from 5 seconds
    Destinations per monitor
    Free 1, Lite 2, Starter 3, Pro 10, Scale 25
January 2026

200 runs during the trial, all six extraction methods, the full condition builder, and signed webhooks. No credit card required.