Updates
Changelog
October 2026
- NEW: Auto top-up charges your saved card when your balance drops below a threshold you set, up to a monthly limit. Turn it on from Billing.
- CHANGED: Monthly plans include more usage than they cost: Starter $25 for $19, Agency $65 for $49, Scale $200 for $149, from your next renewal.
- NEW: Wallet deposits of $10, and $250 in place of $200. Deposits of $100, $250 and $500 add a 5%, 10% and 15% bonus.
- IMPROVED: The Billing page shows what you can spend now and which balance is used first, and suggests a plan only when it would cost you less.
- IMPROVED: /v1/geogrid/scan finds a business at the outer points of a wide grid, where it could read as not found.
- FIX: /v1/geogrid/scan counted sponsored listings as ranks, so ranks read up to two worse in categories with ads. Ranks count organic listings only.
- FIX: /v1/geogrid/scan read a point that could not be checked as not found. It is marked
status: "error", left out of the scores and refunded. - NEW: /v1/geogrid/scan returns
atrp,solv,failed_points,credits_refunded,business_nameandzoom. - NEW: /v1/geogrid/scan takes
centerin place oflocation,zoom, andinclude_listingsfor the top 20 listings at every point. - NEW: /v1/geogrid/scan takes
grid_size3x3, for 18 credits. 5x5 stays the default; every size costs 2 credits a point. - IMPROVED: /v1/geogrid/scan usually finishes in 25-40 seconds at any grid size.
- FIX: A /v1/geogrid/scan that failed was not refunded. It is refunded in full.
- CHANGED: A cached /v1/geogrid/scan comes back with
status: "complete"and nojob_id. - CHANGED: /v1/geogrid/scan treats a blank
business,place_idorlocationas not given, and returns a 400 for a blankkeyword.
September 2026
- FIX: /v1/business/listings returned a 400 for cities whose search radius wasn't a whole number of km, such as Syracuse, NY.
- FIX: MCP tool output schemas rejected any field they didn't list, so strict clients failed every organic_serp call and cached page_audit calls.
- FIX: Responses cached before the September 29 fixes are no longer served, including worldwide /v1/business/listings results.
- FIX: /v1/site/page-audit missed an empty meta description, title or H1 when the crawler's own check didn't flag it.
- CHANGED: /v1/keywords/trends drops the current week or month, which Google reports low until it closes.
partial_period_excludednames it. - FIX: /v1/business/listings ignored
locationand searched worldwide. It now searches around the location and returnslocation_usedandsearch_radius_km. - FIX: /v1/business/listings returned an empty
categorieson every row. It carries the primary and additional categories. - FIX: /v1/keywords/trends merged several keywords into one series and returned 0 interest for every point. Each keyword gets its own series with real values.
- NEW: /v1/keywords/trends points carry
date, and each series reportsgranularity(weekly or monthly) andhas_data. - CHANGED: /v1/keywords/trends
peak_monthis null when a keyword has no data. - FIX: /v1/serp/lsa could report no ads where Google was showing them. A desktop page without LSAs is retried on mobile.
- FIX: /v1/serp/lsa no longer caches an answer with no ads.
- NEW: /v1/serp/lsa returns
lsa_block_foundanddevice_used, so no ads in the market reads differently from a lookup that found nothing. - FIX: /v1/ads/competitor ignored
limit. It returns at mostlimitads, withtotal_availablefor the rest. - CHANGED: /v1/ads/competitor drops
title, which held the advertiser's name, andplatforms, which was always empty. - NEW: /v1/ads/competitor ads carry
advertiser_name,creative_id, and preview and Transparency Center links. - DOCS: /v1/ads/competitor has no ad headline, body text or landing URL. Google's Ads Transparency search doesn't provide them.
- FIX: /v1/site/page-audit
word_countwas always 0 and Core Web Vitals were always null. Both are read from the crawl. - CHANGED: /v1/site/page-audit
seo_scoreis 100 minus 15 per critical issue, 5 per warning and 1 per info item, so it matches its issues. - CHANGED: /v1/site/page-audit reports
inpin place of the retiredfid. It is null: a single crawl can't measure it. - NEW: /v1/site/page-audit
core_web_vitals.notesays why a vital is missing. - NEW: /v1/site/page-audit flags
body_text_unreadablewhen a page has a heading but no body text the crawler could read. - FIX: /v1/serp/maps ranked a paid pin, with no address, phone or place_id, as result 1. Paid pins now go in
sponsored_results. - FIX: /v1/serp/local-finder returned an empty
addressandhours, andtotal_resultscounted rows pastlimit. - FIX: /v1/brand/mentions returned an empty
title, HTML entities in snippets, and neutral sentiment for every mention. - FIX: /v1/ai/mentions answer snippets carried image links to an internal host. They are removed.
- CHANGED: /v1/business/qa
dateis an ISO timestamp. The relative text ("11 months ago") moved totime_ago. - NEW: /v1/serp/organic results carry
organic_position, counted among organic results only.rankis the absolute position on the page. - CHANGED:
location_usedputs a space after each comma: "Buffalo, New York, United States". - FIX: Keyword endpoints returned "Invalid Field: 'language_name'" outside English-speaking markets. The language now follows the market.
- NEW: Keyword endpoints take an optional
language— an ISO 639-1 code ("fr") or a name ("French"). - NEW: Asking for a language a country has no data for returns a 400 listing the ones it does.
- NEW: Keyword responses echo the
languagethe data was pulled in. - NEW: /v1/keywords/overview returns volume, CPC, competition, difficulty, search intent and backlink metrics for up to 1,000 keywords.
- NEW: /v1/keywords/overview is country-level, priced by list size from 10 credits.
- IMPROVED: /v1/keywords/search-volume country-level fallback now looks up the whole keyword list in one call, not one per keyword.
- FIX: The AI mention endpoints returned "Invalid Field: 'language_code'" outside English-speaking markets. The language now follows the market.
- FIX: /v1/ai/keyword-data asked for English in every market. It now follows the market and takes an optional
language. - NEW: /v1/ai/scraper takes an optional
languageand otherwise asks in the market's language — a French location is asked in French. - NEW: The AI endpoints report
location_used,languageandplatforms_available— the country, language and platforms behind the numbers. - NEW: Asking for an AI platform a market has no data for (ChatGPT outside the US) returns a 400 naming the platforms it does have.
- NEW: /v1/ai/scraper returns
local_businesses— businesses chat_gpt named in its answer, with rating, reviews, address and phone. Same 4 credits. - NEW: /v1/ai/scraper takes
force_web_searchon chat_gpt. Same 4 credits. gemini cannot be compelled and returns a 400. - DOCS: /v1/ai/scraper
search_resultsis returned as collected; we have not seen it populated. Readsources. - DOCS: /v1/ai/scraper
fan_out_queriesandbrand_entitiesdepend on the query and platform, and are often empty. - NEW: Citations carry a
positionfield — the order they were cited, from 1, counted after duplicate pages collapse. - DOCS: On gemini,
sources[].domainis the registrable domain; subdomains are not in the data Google returns. - DOCS: /v1/ai/scraper on gemini cites Google Business Profiles as
maps.google.comwith the business name intitle. - NEW: /v1/ai/llm-response takes
web_search,force_web_search,search_countryandsearch_city. Support differs by platform. - NEW: /v1/ai/llm-response returns
web_search_used— whether the model actually searched, not whether one was requested. - CHANGED: A call with
web_searchcosts 24 credits on chat_gpt, 27 on gemini, 40 on claude. Calls without it are unchanged; perplexity stays at 8. - CHANGED: GPT-5 models bill 8 credits for mini, nano and
gpt-5.6-luna, 20 for the rest, by measured cost. - CHANGED:
gemini-2.5-proandgemini-3.1-pro-previewbill as premium. - CHANGED: Default models track the current generation —
gpt-5.6-lunafor chat_gpt, the Gemini 3.x flash line. Pinned models are unaffected. - CHANGED: Citation domains drop the
www.prefix everywhere, so the same site groups consistently across endpoints. - IMPROVED: /v1/serp/ai-overview returns text and citations for overviews Google renders after page load.
- IMPROVED:
asynchronous_ai_overviewreports how Google served the overview; the content is returned either way. - IMPROVED:
sources[].domainis read from the citation URL, and Gemini citations resolve past Google's redirect host. - IMPROVED: A page cited several times in one answer counts once. Citation totals read lower and more accurately.
- IMPROVED: Tracking parameters no longer affect whether two citations count as the same page.
- DOCS: AI Overview documentation and MCP tool descriptions updated for asynchronous overviews.
- DOCS: AI Scraper is 4 credits in the MCP tool descriptions.
- NEW: /v1/ai/scraper, /v1/ai/llm-response, /v1/serp/ai-mode and /v1/serp/ai-overview report
X-Async-EndpointandX-Expected-Duration-Seconds. - FIX: A citation's
domaincould come back as a brand name or a markdown link when the URL behind it could not be resolved. It is a hostname, or empty. - DOCS: The AI endpoints are listed in the slow-endpoint section of the API reference, with the durations they are expected to take.
- FIX: Free accounts were granted 100 credits but capped at 50 a day, so half the signup grant could not be spent. The cap is 100.
- NEW: /v1/report/competitor-gap, /v1/serp/apple-maps, /v1/serp/bing-local and the Apple and Bing profile endpoints report the slow-endpoint headers.
- DOCS: Documented response times for the review and reputation endpoints now match how long they actually take.
- FIX: Zapier actions, lifecycle emails and the marketing pages quoted pre-repricing credit costs. Every figure now matches what the endpoint charges.
- FIX: llms.txt understated the monthly plan allowances. Starter is 4,000 credits, Agency 10,000, Scale 30,000.
- NEW: The AI mention endpoints return
location_scope, alwayscountry: a city inlocationresolves to its country and the numbers cover it all. - NEW: /v1/serp/ai-mode returns
local_businesses— the businesses Google named in its answer, in the same shape as /v1/serp/local-pack. - NEW: AI Mode businesses carry
cid, Google's own identifier in decimal, so an answer can be matched to a business by ID rather than by name. - NEW: /v1/serp/ai-mode returns
parse_status.unparsedmeans business cards were present and unreadable, so Google changed the format. - DOCS: AI Mode
reviews_countis the rounded figure Google shows: 1200 where the exact count is 1194.phoneis always empty on this endpoint. - DOCS: The eight /v1/ai/* endpoints have full request and response reference sections, the last family in the catalogue without them.
- FIX: New accounts were granted 50 credits, not the 100 every other surface promised, because the signup path carried its own copy of the number.
- FIX: /v1/serp/ai-mode and /v1/serp/ai-overview returned a 500 on payloads carrying an empty array slot. They parse what is there and skip the rest.
- FIX: An AI Mode business could take an opening time as its address when Google stacked the hours ahead of it. The address is the address.
- FIX: AI Mode categories containing an apostrophe, a comma or a non-Latin script came back empty. They are returned as Google sends them.
- FIX: Two branches of one chain in an AI Mode answer collapsed into one and took the wrong
cid. They are kept apart bycid. - NEW: /v1/serp/ai-overview, /v1/serp/ai-mode, /v1/ai/llm-response and /v1/ai/scraper take
fresh, which skips the cached answer and runs the request again. - DOCS: A
freshcall is billed at the normal price and refreshes the answer other callers read. The AI endpoints reading stored aggregates do not take it. - NEW: /v1/ai/sample asks the same prompt 2-25 times and returns how often each business was named, and its best, worst and average position.
- NEW: Sampling is priced per run — 4 credits a run on chat_gpt and gemini, 2 on google_ai_mode. Runs that don't complete are refunded.
- DOCS:
appearance_rateis out of the runs that came back, andmean_rankaverages only the runs that named the business. - NEW: /v1/ai/match decides whether a business an AI named is the one you track, and says whether it matched on cid, domain, phone, address or name.
- NEW: /v1/ai/match resolves a name and location against the business graph first, so a name-only target matches on its real identifiers.
- NEW: /v1/ai/match costs 5 credits with that lookup, or 1 when you supply a cid, domain, website or phone yourself.
- NEW: Pass a /v1/ai/sample
runsarray to /v1/ai/match for one business's appearance rate and average position across the sample. - FIX: A business whose website is a Facebook or Linktree page no longer matches every other business with one. Shared hosts are not an identity.
- FIX: /v1/ai/match no longer matches "Smith & Sons Plumbing" to "Smith & Sons Roofing". A name matches only when the shorter is contained in the longer.
- FIX: Businesses named in a non-Latin script, or with accents, are matched by /v1/ai/match. They previously could not match even themselves.
- FIX: Two addresses agree only when the street number, street line and town all agree. A shared ZIP is no longer an address match.
- CHANGED: /v1/ai/match reports
matched: trueexactly whenconfidenceis 0.5 or above, so the field and the number always agree. - NEW: /v1/ai/match reports
resolved_from: "not_found"when the business lookup ran and found no profile. - FIX: /v1/ai/sample counts a run that never completed as a lost sample, not as a run where the business went unnamed.
- FIX: /v1/ai/sample folds a business into one row whether or not Google attached a CID to every card it appeared on.
- DOCS: /v1/ai/sample waits for the slowest run, not samples x one run. Median ~27 seconds, nine of ten under 80, slowest measured 129.
- NEW: GET /v1/history returns the calls this account has already made — what was asked, what it cost, and when. Free.
- NEW: GET /v1/history/:id returns a past response in full, by the
request_idthe original call returned. Free. - NEW: History filters on
keyword,location,business_nameanddomain, so "every AI Mode call for this keyword" is one request. - NEW: MCP tools history_search and history_get read past results instead of buying them again.
- DOCS:
response_data_omittedreports that a stored response is missing, without guessing which of four causes applied. - FIX: The plaintext of a newly created API key was written to the request log. It is no longer stored.
- FIX: The billing portal URL, which is itself a credential, was written to the request log. It is no longer stored.
- FIX: A sandbox key sees only sandbox calls in history, and a live key only live ones.
- CHANGED: History sorts by time only, and
pageis capped at 1000 — the other sort columns had no index behind them. - NEW:
total_is_exactsays whether the history count is the real number or a floor. The count is bounded so its cost does not grow with account age. - DOCS: A date-only
toin history means the end of that day, not its midnight. - CHANGED: /v1/ai/sample submits and returns a
job_id. Collect the samples from /v1/ai/sample/status/{job_id}, which is free and does not expire. - CHANGED: /v1/geogrid/scan and /v1/audit/local submit and return a
job_id, collected from /v1/geogrid/status/ and /v1/audit/local/status/. - NEW: /v1/ai/sample takes
force_newto run a prompt again on purpose, andidempotency_keyto group submits yourself for 24 hours. - NEW: /v1/ai/sample and /v1/ai/scraper return
recommended_businesses— the shortlist read from the answer's prose, in the order it argued for it. - NEW: Shortlist entries carry
shortlist_rank,listed,mentionandis_top_pick. A business named in a sentence rather than a list has a null rank. - NEW: /v1/ai/sample reports
shortlist_rateandmean_shortlist_rankper business — how often an AI recommends it, as opposed to listing it. - NEW: Sampled businesses carry
cited_domains— which source the answers cited for each one, and in how many runs, most-used first. - NEW: A business the answers spelled more than one way is reported as one row, with every spelling in
name_variants. - NEW:
reader_versionstamps which version of the prose reader produced the shortlist. Two stored responses compare only at the same version. - NEW: /v1/ai/sample reports
samples_refusedandsamples_unreadable. A refusal is excluded from every rate and is not refunded. - NEW: /v1/ai/sample reports
credits_reserved,credits_refundedandcredits_charged— what was held, what came back, and what it cost. - FIX: Two spellings of one business inside a single answer counted as two sightings, so an appearance rate could read above 100%.
- DOCS: /v1/serp/local-pack takes
limit, 1-20, default 3. Thedeviceanddepththe reference listed were never accepted. - DOCS: /v1/serp/organic returns
organic_results,local_pack,lsa_adsandknowledge_panel. The reference named three of those wrongly. - DOCS: /v1/audit/local returns
local_pack_position,profile_completenessandreview_velocity. It has never returned ahealth_score. - DOCS: /v1/reviews/velocity returns
period_rating,review_count_by_monthandplatforms, never thevelocity_vs_competitorsthe reference listed. - DOCS: /v1/geogrid/scan returns
average_rankand agridof plain numbers, withgrid_pointsalongside. It takesplace_idandcallback_url.
August 2026
- CHANGED: New accounts now start with 100 free credits, up from 50.
- CHANGED: Keyword endpoint prices revised — Search Volume 72 per call, Suggestions 92, Related 72, For Site 20, Trends 9.
- CHANGED: Backlinks Summary and Gap 23, Brand Mentions 23, Business Profile / Profile Health / Q&A 5, SERP endpoints 2, AI Scraper 4.
- CHANGED: Page Audit drops to 1 credit, from 4.
- CHANGED: Search Volume is now flat-rate per call — batching keywords costs less per keyword than before.
- CHANGED: AI visibility repriced — Mentions 88 (scales with limit), Top Sources / Top Pages / Visibility 81, Compare 81 per domain, Keyword Data 9-16.
- CHANGED: Pinning a model on /v1/ai/llm-response costs 8 (standard), 20 (premium) or 40 (frontier). Unpinned calls stay at 8.
- FIX: /v1/ai/llm-response with platform=claude failed on every call — we pinned a model Anthropic retired. Defaults now track the live model list.
- FIX: AI Compare now prices per domain — comparing 5 domains no longer costs the same as 2.
- NEW: /v1/ai/llm-response accepts an optional
modelparameter to pin a model version. - DOCS: /v1/ai/llm-response prompt limit is 500 characters; the docs said 2,000.
- NEW: Citation Audit takes a
directoriesparameter — a count up to 50, or an array of directory names from details[].directory. - IMPROVED: Citation Audit's directory set grew from 20 to 50. The default scan still covers the original 20, at the same cost.
- CHANGED: Citation Audit is priced per directory at 2.5 credits — the default 20-directory scan stays at 50 credits.
- FIX: Citation Audit details[].directory strips every TLD — "brownbook" and "cylex", not "brownbook.net".
- FIX: Citation Audit docs listed fields the endpoint never returned — corrected to consistency_score, directories_checked, found, details[].
- DOCS: directories_checked is the size of the scan, not listings found — use found for how many directories list the business.
July 2026
- IMPROVED: Competitor Gap fills the requested competitor count from extended local results, and charges only for competitors returned.
- FIX: Competitor Gap and Local Authority resolve your business by listing ID when a name lookup finds nothing — profile_completeness no longer returns null.
- NEW: Profile lookups recover from more failures; profile and report endpoints serve the last known answer (stale: true, free) when every attempt fails.
- IMPROVED: Competitor Gap's per-competitor lookups were reworked, clearing the concurrency bottleneck behind intermittent timeouts.
- IMPROVED: Competitor Gap returns a real profile_completeness per competitor. Pricing moved to 10 + 2 per competitor analyzed (default 5 = 20 credits).
- IMPROVED: Error responses from MCP tools now always include a request_id — include it in support requests so we can trace the exact call.
- IMPROVED: Searches that fail briefly are now retried automatically before surfacing an error. Retryable conditions return 503/504 instead of a generic 502.
- FIX: Business names containing apostrophes now match their Google listing correctly in Competitor Gap and Local Authority reports.
May 2026
- IMPROVED: Business Profile returns suggestions with place_id when no exact match is found, instead of a 404.
- IMPROVED: AI Scraper (/v1/ai/scraper) — Gemini platform now supports city-level locations (e.g. "Portland, OR"). ChatGPT remains country-level.
- IMPROVED: AI Overview and AI Mode parsing — fixed to read the full response, added asynchronous_ai_overview field
- NEW: FAQ page in docs covering credits, billing, data accuracy, and technical questions
- FIX: Corrected geogrid credit cost in documentation (2 credits per grid point)
- FIX: Corrected rate limit values in FAQ and rate-limits page to match current plans
- Pinned critical dependencies to prevent version drift
April 2026
- NEW: AI Mentions endpoint (/v1/ai/mentions) — track where keywords appear in ChatGPT and Google AI outputs
- NEW: AI Top Sources endpoint (/v1/ai/top-sources) — discover which domains AI models cite most
- NEW: AI Top Pages endpoint (/v1/ai/top-pages) — find specific pages AI models reference most
- NEW: AI Visibility Score endpoint (/v1/ai/visibility) — measure a domain's overall AI citation score
- NEW: AI Compare endpoint (/v1/ai/compare) — compare multiple domains' AI visibility side by side
- NEW: AI Keyword Data endpoint (/v1/ai/keyword-data) — measure how often keywords are searched in LLMs
- NEW: AI LLM Response endpoint (/v1/ai/llm-response) — query ChatGPT, Claude, Gemini, or Perplexity directly
- NEW: AI Scraper endpoint (/v1/ai/scraper) — scrape ChatGPT and Gemini search results (budget alternative to LLM Response)
- NEW: SERP Organic endpoint (/v1/serp/organic) — traditional Google organic results
- NEW: AI Overview endpoint (/v1/serp/ai-overview) — Google AI Overview results with source citations
- NEW: AI Mode endpoint (/v1/serp/ai-mode) — Google AI Mode search results
- NEW: Local Finder endpoint (/v1/serp/local-finder) — expanded local results beyond the 3-pack
- NEW: Google Maps SERP endpoint (/v1/serp/maps) — full Maps results (up to 100)
- NEW: Local Services Ads endpoint (/v1/serp/lsa) — Google Local Services Ads results
- NEW: Keyword Search Volume endpoint (/v1/keywords/search-volume) — bulk volume for up to 1,000 keywords
- NEW: Keyword Suggestions endpoint (/v1/keywords/suggestions) — long-tail ideas with difficulty scores
- NEW: Keywords for Site endpoint (/v1/keywords/for-site) — competitor keyword discovery
- NEW: Related Keywords endpoint (/v1/keywords/related) — keyword expansion from seeds
- NEW: Google Trends endpoint (/v1/keywords/trends) — seasonality and trend data
- NEW: Backlinks Summary endpoint (/v1/backlinks/summary) — domain authority and link profile
- NEW: Backlinks Gap endpoint (/v1/backlinks/gap) — find links competitors have that you don't
- NEW: Page Audit endpoint (/v1/site/page-audit) — on-page SEO analysis
- NEW: Competitor Ads endpoint (/v1/ads/competitor) — Google Ads transparency data
- NEW: Brand Mentions endpoint (/v1/brand/mentions) — web mentions with sentiment analysis
- NEW: Business Listings endpoint (/v1/business/listings) — find businesses in an area by keyword
- NEW: Location Search endpoint (/v1/locations/search) — find valid location names and codes (free)
- Updated MCP Server with all new endpoint tools and output schemas
- Added llms.txt and llms-full.txt for AI agent discovery
- Total endpoint count: 41
March 2026
- NEW: Geogrid Rank Scan endpoint (/v1/geogrid/scan) — 5x5, 7x7, 9x9 geographic ranking grids
- NEW: Competitor Gap Report endpoint (/v1/report/competitor-gap)
- NEW: Review Velocity endpoint (/v1/reviews/velocity) — review count trends, rating changes, sentiment
- NEW: Local Authority Score endpoint (/v1/score/local-authority) — single composite SEO score
- NEW: Keyword Opportunities endpoint (/v1/keywords/local-opportunities)
- NEW: Business Profile Health endpoint (/v1/profile/health)
- NEW: Citation Consistency endpoint (/v1/audit/citation-consistency) — check listings across 50+ directories
- Updated pricing: 3 monthly plans (Starter $19, Agency $49, Scale $149) + pay-as-you-go
- Credits never expire on monthly plans
February 2026
- MCP Server v2 with support for all new endpoints
- Python SDK v1.2 with geogrid support
- Node.js SDK v1.1 with TypeScript improvements
January 2026
- NEW: Multi-Platform Reviews endpoint (/v1/reviews/multi-platform) — reviews from Google, Yelp, and more
- NEW: Reputation Audit endpoint (/v1/audit/reputation) — composite reputation analysis
- Improved response times across all endpoints by ~30%
December 2025
- NEW: Local Pack endpoint (/v1/serp/local-pack) — Google Maps 3-pack rankings
- NEW: Business Profile endpoint (/v1/business/profile) — Google Business Profile data
- NEW: Google Reviews endpoint (/v1/business/reviews) — review data and analysis
- NEW: Q&A endpoint (/v1/business/qa) — Google Business Q&A data
- NEW: Local Audit endpoint (/v1/audit/local) — comprehensive local SEO audit
- NEW: Citation Audit endpoint (/v1/audit/citation) — NAP consistency across directories
- Python SDK v1.0
- Node.js SDK v1.0
- MCP Server v1.0