Changelog

What's new in SerpPortal

Product updates, new features, and improvements. Newest first.

  1. More proxy keys available to buy

    Ordering several keys at once now goes through.

    • FixedOrdering more than one proxy key at a time could fail, because nearly all of our residential capacity was allocated to our own crawling. A block of addresses is now set aside for customer keys, so multi-key orders complete. If an order ever did fail this way, it was never charged — keys are created before any credits are taken.
  2. Bank transfer checkout is more reliable

    Partial transfers now count, and a paid order always confirms on the page.

    • FixedPaying for proxy keys by bank transfer sometimes left the payment dialog waiting even though the keys had already been created. The page now confirms as soon as your keys exist.
    • FixedIf you transfer less than the full amount, the part you sent now counts toward the order — send the remainder with the same transfer note and it completes. The checkout page shows how much has arrived.
    • ImprovedA payment code is now marked as expired after 3 days so you always transfer against a current one. A transfer you already sent is still honoured at the price you were quoted.
  3. SerpPortal is now the SERP API and proxies; rank tracking moved to SerpUpdate

    Two products, one credit balance. Keyword campaigns and ranking history now live on serpupdate.com.

    • ChangedSerpPortal now sells two things: the SERP API (REST, MCP, and the batch Datasets API) and rotating residential proxies. Both are still paid from the same credit balance, and nothing about your API keys, proxy keys, or credits changes.
    • ChangedRank tracking — keyword campaigns for a domain, ranking history, and Share of Voice — is now a separate product at serpupdate.com. Links across the site and the signed-in overview point there.
    • ImprovedThe signed-in home page is now an overview of what you actually use: credit balance, active proxy keys, keys expiring within three days, and direct links into the SERP API quickstart, the MCP server, and your proxy keys.
  4. Empty results fixed, and downloaded HTML keeps the AI Overview with page 1

    Searches that came back with no results are fixed — Google changed how it writes result links and we were discarding every one of them.

    • FixedSearches are returning results again. Google changed the results page so that each link now points at a redirect instead of the destination, and we were rejecting those rows — so a search that had fetched a full page of results reported none, which looked like a failed crawl. We now recover the real destination for every result. If you ran searches earlier and got empty results, re-run them.
    • ImprovedResult links keep their full deep URL rather than falling back to the site homepage, and two results from the same site are still two separate rankings.
    • FixedIn a snapshot downloaded as raw HTML, the AI Overview capture now comes directly after page 1 instead of after the last page. If your parser takes page 1 as everything between the page 1 and page 2 markers, the AI Overview arrives with it — it was previously at the end of the file and easy to miss. Its marker is unchanged, so a parser that looks for the marker itself needs no change.
    • FixedA search that stopped short is now reported as partial instead of done. Google stopped publishing its result count on the page, which was how we told "this keyword only has 17 results" apart from "we missed pages", so short crawls were being labelled complete. Coverage is now judged on whether the full depth was actually attempted or Google ended the list. Expect to see more partial results — around one search in seven was mislabelled — while a complete search still averages about 97 results.
  5. Batch snapshots are faster, and none of them can get stuck

    The Datasets API now crawls on the same profile as a single search, and a snapshot always reaches a final status.

    • ImprovedBatch snapshots complete far sooner. Keywords submitted through the Datasets API were being crawled on a slower profile than the one a single search uses, so they were retried several times and a one-keyword snapshot could take 40 minutes. Both now use the same profile.
    • FixedA snapshot can no longer sit in "processing" indefinitely. In rare cases a snapshot outlived the crawl records it was waiting for and never reached a final status, so polling it never ended. It now completes, and any keyword still missing a result is re-crawled and the snapshot updated — with another webhook ping if you have one registered.
    • ImprovedA snapshot that finished with holes (keywords we could not crawl during an incident) is retried on its own and re-finalised, so an empty organic array is much less likely to be the last word.
  6. Pay in Vietnamese đồng, including direct payment for proxies

    Credit packs and proxy keys are now priced in ₫, and you can buy proxy keys with a bank transfer instead of credits.

    • NewProxies can now be paid for directly with a Vietnamese bank transfer (VietQR): pick your term and quantity, scan the QR, and the keys appear on the page once the transfer lands — no credit top-up needed.
    • ChangedAll prices are now shown and charged in Vietnamese đồng. A credit pack costs what it says: 100,000₫ buys 100,000 credits, plus any bonus credits on the pack.
  7. AI Overviews are captured, and searches return more results

    A search now returns about 97 results instead of 67, and AI Overviews are captured on the searches that have one.

    • FixedAI Overviews are now captured on searches that have one — around 9 in 10, up from almost none. We were detecting them with a rule that had stopped matching how Google builds the page, so the overview was in the results we fetched but we were not reading it out.
    • FixedDesktop searches now return about 97 results each, up from about 67. While capturing the AI Overview we were clicking a control on the results page that collapsed part of it, which cut roughly a third of the results before we read them.
    • ImprovedAI Overview source citations are slightly more complete, and the overview text is fuller on searches where we previously captured only a fragment.
    • ChangedNothing to change on your side, and no API change. If you compare a search run before and after today you should see more organic results and an ai_overview where one exists — the data was always on the page; we were not reading all of it.
  8. Mobile and tablet searches are working

    device=mobile and device=tablet are available again, and now return full results — this reverses yesterday’s notice.

    • FixedSearches with device=mobile and device=tablet now return complete results, around 90 per search, the same depth as desktop. They are accepted again, so the error added yesterday is gone.
    • FixedThe cause was on our side and nothing to do with your requests: we were fetching the mobile results page correctly but reading no results out of it, because mobile Google lays the page out differently from desktop.
    • ImprovedSponsored results are excluded from mobile rankings, so an ad never takes an organic result’s position — the same rule that already applied on desktop.
    • ChangedDesktop searches are unchanged. If you ran mobile searches before today and got empty results, re-run them; the results were always there to be read.
  9. Mobile and tablet searches now say so instead of coming back empty

    device=mobile and device=tablet are temporarily unavailable, and now return a clear error rather than an empty result.

    • ChangedSearches with device=mobile or device=tablet now return a 422 error naming the reason. They were previously accepted and answered with no results, which was indistinguishable from a query that genuinely has none — and the search still counted against your quota. The error costs you nothing.
    • FixedDesktop searches are unaffected. We are working on mobile and tablet, and will re-enable them here as soon as they return real results.
  10. Move over from SerpApi by changing one line

    We now answer on SerpApi’s own endpoints with their parameter names and response format — plus the full set of Google search parameters.

    • NewIf you already use SerpApi, point your existing client at us and keep everything else: the same /search endpoint, the same parameter names, the same JSON response. Both official Python clients need one line changed.
    • NewThe matching /searches/{id}, /account and /locations.json endpoints are there too, so archived searches, quota checks and location lookups keep working unchanged.
    • NewNew pages option (1-10) chooses how deep to crawl. Ask for one page when ten results are enough and the search comes back far sooner; leave it unset and you still get the full ~100 results as before.
    • ImprovedAsking for ten results now crawls one page instead of a hundred results and trimming, so small searches are much faster. If we already hold a recent full-depth crawl of the same query, a small request is served straight from it at no cost.
    • NewSearch from exact coordinates with lat and lon, plus an optional radius in metres — useful when the place you care about has no tidy name to look up.
    • NewTarget one specific place or entity with ludocid, lsig, kgmid, si, ibp and uds, copied straight from a Google result. Pass color_scheme to get the light or dark version of the page.
    • Newno_cache forces a fresh crawl when you need the SERP as it is right now rather than as it was a few minutes ago.
    • NewPage through results with start when you fetch them. Every search already collects the full depth, so paging is free: it never costs another crawl, and result positions stay as they rank on the real SERP.
    • ImprovedFetching results is now roughly 45x faster — around a tenth of a second instead of five or six seconds. Reading a finished search no longer re-does work the crawl already did.
    • FixedLinks inside the response (to the JSON and to the raw HTML of a search) now use https instead of http, so they open correctly.
    • FixedA blocking search no longer holds the connection open once it is certain the result cannot arrive in time. You get the polling details straight away instead of waiting out the timeout.
    • FixedThe search type (tbm) and the omitted-results filter now reach the crawler from the Playground, instead of being dropped on the way.
  11. Our own residential network, and a steadier sign-in

    Proxy keys now run on hardware we operate, plus accessibility and reliability fixes across the app.

    • ImprovedProxy keys are now served from our own residential lines rather than a reseller, so an IP belongs to one customer at a time and a rotation is a real line redial that completes in seconds.
    • FixedSign-in and password reset no longer fail when our rate-limit store is briefly unreachable. The abuse counters step aside instead of taking the whole auth flow down with them.
    • ImprovedText and chart colours across the app now meet WCAG AA contrast minimums, including the SERP result and feature badges.
    • ImprovedMarketing and docs pages are pre-rendered, so they load faster and are indexed properly by search engines and AI crawlers.
  12. Proxy management, out of beta

    Run a fleet of proxy keys instead of one at a time, and see what each is doing.

    • NewBulk proxy management: buy, renew, rotate, or revoke several keys at once, and export the whole set as a ready-to-paste credential list.
    • NewPer-key usage: live egress IP, traffic up and down, last-seen time, and a real countdown to when the key may next rotate.
    • NewSticky keys hold one IP until you rotate it yourself, alongside rotating keys that refresh on a timer.
    • FixedCopying a key password copied the masked placeholder rather than the password.
    • ChangedProxy traffic is recorded at destination-host level (host and port, never page addresses or content) and kept for 24 months, as Vietnamese law requires of the line holder. What is collected is spelled out on the residential proxies page and in the proxy docs.
  13. Domain Overview retired

    Campaign detail drops the domain comparison card as we move rank tracking onto our own crawler.

    • ChangedRemoved Domain Overview from campaign detail: the competitor comparison table, backlink metrics, and organic traffic and ranked-keyword estimates. Those figures came from a third-party web index we are retiring, and they cannot be produced from the live SERP data we crawl ourselves. Rank tracking, analytics, Share of Voice, and keyword ideas are unaffected.
  14. Dataset API, proxy access, and campaign sharing

    Query rankings programmatically at scale, buy rotating proxy access, and share campaigns with your team.

    • NewDataset API: trigger an async crawl of up to 200 keywords with an API key and poll for a completed snapshot, credit-metered per keyword.
    • NewProxy access (beta): buy rotating residential proxy keys with credits from /proxies, with one-click rotate and revoke.
    • NewReal campaign sharing: invite collaborators by email, manage their role, and see everything shared with you from a dedicated list.
    • NewDashboard rollups for Share of Voice, search-intent mix, and AI Overview citation rate across all your campaigns.
    • NewPer-keyword SERP history viewer: pick any past crawl date and see the full organic results, SERP features, and AI Overview for that day.
    • NewCompetitor domain comparison table on campaign detail, showing overview and backlink metrics side by side with your own domain.
    • ImprovedCrawl reliability: broader captcha-challenge coverage (checkbox, text, and image grids) means fewer blocked crawls.
    • FixedAccessibility, performance, and security cleanups across the app (missing labels, unsafe window.open targets, unchecked fetch responses).
  15. Accessibility and usability pass

    A sweep of the whole app for accessibility, form usability, and shareable URLs.

    • ImprovedInline field validation with focus-on-first-error across sign-up, account, and campaign creation forms, replacing toast-only errors.
    • ImprovedFilters, search, pagination, and tabs now sync to the URL on campaigns, admin tables, and the SERP console, so links stay shareable.
    • ImprovedScreen-reader and keyboard accessibility: labeled search and filter controls, live status regions for async updates, and real headings on checkout result pages.
  16. Session persistence, deeper rankings, and developer docs

    Stay signed in for the full 30 days, get complete organic results, and integrate faster with new API docs.

    • FixedSessions no longer log you out after 15 minutes; the app now refreshes your session in the background for the full 30-day window.
    • ImprovedThe SERP API now paginates past feature-heavy result pages so a full 100 organic results are returned instead of stopping short.
    • NewInteractive OpenAPI/Swagger explorer for the SERP API, plus ready-to-paste SDK snippets for Node, Python, PHP, Go, and Ruby.
    • Newllms.txt documentation bundle for AI coding assistants (Cursor, Windsurf, Claude, ChatGPT), linked from a new /docs/llms page.
  17. Competitor comparison & backlink authority

    See how SerpPortal stacks up against the competition and gauge your domain's backlink authority.

    • NewPublic /compare page: a feature and pricing matrix against SerpApi, DataForSEO, Semrush, Ahrefs, and OpenSEO.
    • NewBacklink authority metrics in Domain Overview: total backlinks, referring domains, domain rank, and spam score for your own domain.
    • NewAdmin capacity benchmark tool with side-by-side A/B crawl-mode comparison.
  18. AI Overview tracking & visibility analytics

    See where you stand in AI Overviews, measure Share of Voice, and call the SERP API from your agents.

    • NewAI Overview brand-citation tracking: campaign detail shows a green "Cited in AIO" badge when your domain is one of the sources Google cites in the AI Overview.
    • NewAccount-level visibility overview on the dashboard, aggregating every tracked keyword across your campaigns.
    • NewCampaign ranking-history charts and Share of Voice: position-bucket distribution, CTR-weighted visibility, and trend over time.
    • NewSERP feature detection: 9 feature types plus sitelinks captured per crawl and surfaced in a Features column.
    • NewMCP server exposing the SERP API as agent tools (serp_search, serp_get_results, serp_usage) for Claude and other MCP clients.
    • NewAdmin API-key dashboard to mint and revoke SERP API keys and review usage.
  19. SERP API console & admin portal

    A full in-portal console for the self-hosted SERP API, plus user and data administration.

    • NewIn-portal SERP API console: health, per-mode stats, proxy management, geo & locales, crawl & captcha settings, and benchmarks.
    • NewBenchmark and load-test runs that report throughput and estimated cost.
    • NewGoogle-like SERP preview that renders organic results and AI Overviews with A/B mode compare.
    • NewUser management: lock accounts, change plan, grant credit with history, reset passwords, and view relations.
    • NewAdmin CRUD over all data tables via a JSON editor.
    • ImprovedNew SERP API columns now auto-migrate on deploy, so schema changes ship without manual steps.
  20. Self-hosted SERP crawler

    A standalone Google SERP crawler with AI Overview capture, structured output, and quotas.

    • NewSelf-hosted Google SERP crawler returning the top 100 organic results with geo and device targeting.
    • NewAI Overview capture and a structured JSON parser with SerpApi-compatible output.
    • NewAPI keys with tiers and monthly quotas, plus per-locale rollout controls.
    • NewBulk geo-target ingest and proxy batch labelling/tagging.
    • ImprovedAutomated deploys for the SERP API service.
  21. New platform: faster, leaner, credit-based

    SerpPortal rebuilt on React 19 + Vite with a new crawl pipeline and bank-transfer billing.

    • ChangedRebuilt the app on React 19 + Vite for faster page loads.
    • NewNew crawl pipeline that keeps rankings fresh and finishes reliably instead of stalling on long runs.
    • NewSePay (VietQR) bank-transfer payments with automatic credit top-up on confirmation.
    • NewRebuilt admin module and a refreshed, branded dashboard theme.
    • ImprovedNew sign-ups are auto-verified and signed in when email delivery is unconfigured.