LSD

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_name and zoom.
  • NEW: /v1/geogrid/scan takes center in place of location, zoom, and include_listings for the top 20 listings at every point.
  • NEW: /v1/geogrid/scan takes grid_size 3x3, 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 no job_id.
  • CHANGED: /v1/geogrid/scan treats a blank business, place_id or location as not given, and returns a 400 for a blank keyword.

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_excluded names it.
  • FIX: /v1/business/listings ignored location and searched worldwide. It now searches around the location and returns location_used and search_radius_km.
  • FIX: /v1/business/listings returned an empty categories on 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 reports granularity (weekly or monthly) and has_data.
  • CHANGED: /v1/keywords/trends peak_month is 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_found and device_used, so no ads in the market reads differently from a lookup that found nothing.
  • FIX: /v1/ads/competitor ignored limit. It returns at most limit ads, with total_available for the rest.
  • CHANGED: /v1/ads/competitor drops title, which held the advertiser's name, and platforms, 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_count was always 0 and Core Web Vitals were always null. Both are read from the crawl.
  • CHANGED: /v1/site/page-audit seo_score is 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 inp in place of the retired fid. It is null: a single crawl can't measure it.
  • NEW: /v1/site/page-audit core_web_vitals.note says why a vital is missing.
  • NEW: /v1/site/page-audit flags body_text_unreadable when 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 address and hours, and total_results counted rows past limit.
  • 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 date is an ISO timestamp. The relative text ("11 months ago") moved to time_ago.
  • NEW: /v1/serp/organic results carry organic_position, counted among organic results only. rank is the absolute position on the page.
  • CHANGED: location_used puts 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 language the 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 language and otherwise asks in the market's language — a French location is asked in French.
  • NEW: The AI endpoints report location_used, language and platforms_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_search on chat_gpt. Same 4 credits. gemini cannot be compelled and returns a 400.
  • DOCS: /v1/ai/scraper search_results is returned as collected; we have not seen it populated. Read sources.
  • DOCS: /v1/ai/scraper fan_out_queries and brand_entities depend on the query and platform, and are often empty.
  • NEW: Citations carry a position field — the order they were cited, from 1, counted after duplicate pages collapse.
  • DOCS: On gemini, sources[].domain is the registrable domain; subdomains are not in the data Google returns.
  • DOCS: /v1/ai/scraper on gemini cites Google Business Profiles as maps.google.com with the business name in title.
  • NEW: /v1/ai/llm-response takes web_search, force_web_search, search_country and search_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_search costs 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-pro and gemini-3.1-pro-preview bill as premium.
  • CHANGED: Default models track the current generation — gpt-5.6-luna for 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_overview reports how Google served the overview; the content is returned either way.
  • IMPROVED: sources[].domain is 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-Endpoint and X-Expected-Duration-Seconds.
  • FIX: A citation's domain could 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, always country: a city in location resolves 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. unparsed means business cards were present and unreadable, so Google changed the format.
  • DOCS: AI Mode reviews_count is the rounded figure Google shows: 1200 where the exact count is 1194. phone is 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 by cid.
  • 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 fresh call 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_rate is out of the runs that came back, and mean_rank averages 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 runs array 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: true exactly when confidence is 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_id the original call returned. Free.
  • NEW: History filters on keyword, location, business_name and domain, 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_omitted reports 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 page is capped at 1000 — the other sort columns had no index behind them.
  • NEW: total_is_exact says 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 to in 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_new to run a prompt again on purpose, and idempotency_key to 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, mention and is_top_pick. A business named in a sentence rather than a list has a null rank.
  • NEW: /v1/ai/sample reports shortlist_rate and mean_shortlist_rank per 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_version stamps which version of the prose reader produced the shortlist. Two stored responses compare only at the same version.
  • NEW: /v1/ai/sample reports samples_refused and samples_unreadable. A refusal is excluded from every rate and is not refunded.
  • NEW: /v1/ai/sample reports credits_reserved, credits_refunded and credits_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. The device and depth the reference listed were never accepted.
  • DOCS: /v1/serp/organic returns organic_results, local_pack, lsa_ads and knowledge_panel. The reference named three of those wrongly.
  • DOCS: /v1/audit/local returns local_pack_position, profile_completeness and review_velocity. It has never returned a health_score.
  • DOCS: /v1/reviews/velocity returns period_rating, review_count_by_month and platforms, never the velocity_vs_competitors the reference listed.
  • DOCS: /v1/geogrid/scan returns average_rank and a grid of plain numbers, with grid_points alongside. It takes place_id and callback_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 model parameter 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 directories parameter — 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