Google Search Console API review
Best free first-party data

Every other provider in this directory sells you an estimate. Search Console reports what Google actually recorded: the impressions it served, the clicks it counted and the average position it measured, for properties you have verified. It is the only ground truth available about your own site's performance in Google, and it costs nothing.
The reason to use the API rather than the interface is the row limit. The Performance report shows 1,000 rows. The API returns up to 25,000 per request, with pagination beyond that, across dimensions of query, page, country, device, search appearance, date and now hour. For any site of size, the difference is not convenience, it is access to data you otherwise cannot see at all.
What you buy with the effort is a small, well-specified surface: Search Analytics, URL Inspection, Sitemaps and Sites. Authentication is OAuth 2.0, quotas are published per site, per user and per project, and there is no billing to model. The constraints here are quota and retention, not cost.
Our scorecard
Our editorial read across six dimensions, scored 1 to 5. This is our own assessment, not an aggregate of user reviews, and it is deliberately kept out of the page's structured data.
- Data coverage3/5
Unmatched accuracy for your own property, and nothing at all about anybody else's. Deliberately narrow.
- Pricing5/5
Free, with quotas generous enough that most teams never approach them.
- Documentation4/5
Precise, complete and Google-flavoured. The quota tables are exact; the data caveats are scattered.
- Ease of integration3/5
OAuth 2.0 is the friction. Service-account setup and property verification take longer than the query does.
- Reliability5/5
It is Google reporting its own numbers. The reporting delay, a few hours for hourly data and longer for finalised days, is the main thing to design around.
- Support2/5
There is none in any meaningful sense. You have documentation, a community forum and an issue tracker.
An editorial read, not an aggregate of user reviews, and deliberately kept out of this page's structured data.
What you can pull
Search Analytics: query
Free. 1,200 queries per minute per site
Clicks, impressions, CTR and average position, grouped by any combination of query, page, country, device, search appearance, date and hour
URL Inspection: index
Free. 2,000 per day per site
Indexing state, canonical Google chose, crawl and render results, mobile usability and rich-result status for one URL
Sitemaps
Free. 20 requests per second per user
List, get, submit and delete sitemaps, plus the warnings and errors Google recorded against each
Sites
Free. 20 requests per second per user
List, add and remove the properties attached to the authenticated account, and their permission level
dataState parameter
A parameter, not an endpoint
Choose finalised data, fresh data including the most recent incomplete days, or hourly data. The difference matters for daily reporting
Aggregation types
auto, byPage, byProperty, byNewsShowcasePanel
Aggregate by page or by property, which changes how positions and impressions are counted and therefore what the numbers mean
Who Google Search Console API is for
Everyone, and before anything else on this list. Any reporting stack that does not start with Search Console is estimating something it could be measuring. It is free, it is first-party, and for questions about your own site it is more accurate than anything you can buy.
What it will not do is tell you about competitors, give you search volumes for keywords you do not already rank for, or reach back more than sixteen months. Those are the gaps the rest of this directory exists to fill, and knowing the boundary is the point.
Strengths and limits
What it does well
- First-party data. This is what Google recorded, not a model of it, and no paid provider can match it for your own property.
- 25,000 rows per request against the interface's 1,000, with pagination beyond that. This is the single biggest reason to use the API.
- Completely free, with no billing account, no card and no overage risk of any kind.
- Quotas are published precisely per site, per user and per project, so you can design a pipeline against exact numbers.
- Seven dimensions including an hour dimension, which returns up to 10 days of hourly data where the interface shows only the last 24 hours.
- The URL Inspection API returns Google's own view of indexing, canonicalisation and rendering, which no third party can tell you.
- dataState lets you choose finalised or fresh data explicitly rather than guessing which you are looking at.
Where it falls short
- Sixteen months of retention, and that is a hard wall. Year-over-year comparison works; anything longer needs you to have been exporting all along.
- Your own properties only. There is no competitor data of any kind, which is the entire reason the rest of this directory exists.
- URL Inspection is capped at 2,000 queries per day per site, which is far too low for a full audit of a large site.
- OAuth 2.0 and property verification make first setup meaningfully harder than an API key, particularly for agencies managing many clients.
- The newest daily data can be preliminary, and even hourly data arrives a few hours late, so this morning is only partly visible.
- Grouped rows do not sum to reported totals, and the reasons are documented separately by Google rather than in the API reference. Read their filtering guide before reconciling numbers.
- No support in any practical sense. Documentation, a forum and an issue tracker are what you get.
- It reports position and impressions, not why either changed. It is a measurement instrument, not a diagnosis.
Google Search Console API pricing
There is nothing to pay and no billing account to create. For a free API the commercial question is the quota, so those are the numbers to plan against.
Search Analytics, which is what most pipelines hit, allows 1,200 queries a minute per site and the same per user, inside a per-project ceiling of 30 million a day. In practice that is far more than a reporting job needs, and the constraint you will actually feel is the 25,000-row response cap rather than the request rate.
URL Inspection is the tight one and it catches people out: 2,000 queries per day per site. That is fine for spot-checking and useless for auditing the index status of a large site, which is why third-party crawlers still exist.
The real cost is engineering rather than money. OAuth 2.0, service accounts and property verification take longer to set up than the queries take to write, and for an agency managing dozens of client properties that setup is the whole project. Budget a day for the first one and an hour for each after that.
Search Analytics quota
Free
The heaviest-used surface
- 1,200 queries per minute per site
- 1,200 queries per minute per user
- 30,000,000 queries per day per project
- 40,000 queries per minute per project
URL Inspection quota
Free
Much tighter, and the one people hit
- 2,000 queries per DAY per site
- 600 queries per minute per site
- 10,000,000 per day per project
- Do not plan a full-site index audit on this
Everything else
Free
Sitemaps, Sites and the rest
- 20 queries per second per user
- 200 queries per minute per user
- 100,000,000 queries per day per project
- No billing account, no card, no overage
Request example
A minimal call against the live endpoint, with credentials read from the environment rather than pasted inline.
curl -s -X POST \
"https://searchconsole.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fexample.com%2F/searchAnalytics/query" \
-H "Authorization: Bearer $GSC_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"startDate": "2026-06-01",
"endDate": "2026-08-31",
"dimensions": ["query", "page"],
"rowLimit": 25000,
"startRow": 0,
"dataState": "final"
}'
# rowLimit maxes at 25,000 and defaults to 1,000. The interface
# will only ever show you 1,000, so this single parameter is the
# main reason to use the API at all. Page with startRow.Rate limits and quotas
- Search Analytics: 1,200 queries per minute per site and 1,200 per minute per user.
- Search Analytics per project: 30,000,000 queries per day and 40,000 per minute.
- URL Inspection: 2,000 queries per day and 600 per minute, per site.
- URL Inspection per project: 10,000,000 per day and 15,000 per minute.
- All other resources: 20 queries per second and 200 per minute per user.
- All other resources per project: 100,000,000 queries per day.
- rowLimit accepts 1 to 25,000 and defaults to 1,000. Use startRow to page.
- Dimensions available: country, device, page, query, searchAppearance, date and hour.
- Data retention is 16 months. Hourly data covers up to the last 10 days and appears after a few hours (Google, 9 April 2025).
What practitioners say on Reddit
Nobody argues about whether to use Search Console, so the discussion is about its limits and, repeatedly, about the moment somebody discovers the API exists. The pattern is consistent enough to be a genre: an SEO outgrows the interface, hits the 1,000-row ceiling, notices sampling on important queries, and then finds that the API has been sitting there holding considerably more data all along.
The other recurring theme is interpretive rather than technical. Practitioners caution against treating Search Console query data as a to-do list, because Google reports every query it thinks your page is relevant for, including ones you never targeted.
There is very little complaint about the API itself, which for a free Google product is notable. The complaints are about the interface built on top of it.
“I could only see 1,000 rows even though I knew more queries existed [...] One day after a late-night session, I got annoyed enough to check the actual GSC API. And that is when it hit me. Google is sitting on a lot more data than what they show in the interface. It felt like discovering a secret basement in a house I have lived in for years.”
r/bigseo on Reddit“GSC shows all the queries Google thinks your page is relevant for, even if you didn't intentionally target them. If the query is closely related to the page's topic, I'd naturally expand the content to cover it better.”
r/bigseo on Reddit“I wouldn't automatically rewrite the page just because GSC shows impressions for adjacent queries. Treat those as clues, not marching orders.”
r/bigseo on Reddit
Verdict
Start here, always. Search Console reports what Google actually recorded for your site rather than estimating it, and any measurement stack that skips it is buying an approximation of something it could have for nothing.
Use the API rather than the interface, and do it sooner than feels necessary. The 1,000-row ceiling in the Performance report is the single most common reason SEOs believe their site has less search surface than it does, and 25,000 rows a request with pagination is a different picture of the same site. That one parameter is most of the value here.
Then accept the boundary honestly. Sixteen months, your own properties, a few hours behind at best, and no explanation of why anything moved. Everything else in this directory exists to answer the questions Search Console structurally cannot, and the right architecture is Search Console for truth plus one paid provider for context, rather than a paid provider pretending to be both.
Google Search Console API FAQ
Is the Search Console API really free?
Yes, entirely. There is no billing account, no card and no paid tier. The constraints are quotas rather than cost: 1,200 Search Analytics queries a minute per site, 2,000 URL Inspection queries a day per site, and 20 queries a second for everything else.Why use the API instead of the interface?
Rows. The Performance report shows 1,000; the API returns up to 25,000 per request and pages beyond that. For any site with real search surface, that is the difference between seeing a sample of your queries and seeing your queries. It is the main reason the API exists for most people.How far back does the data go?
Sixteen months, and it is a hard wall. That is enough for year-over-year comparison and nothing more, so if long-term trend analysis matters to you, start exporting to BigQuery or a warehouse now. Data you did not capture is gone.What are the URL Inspection API limits?
2,000 queries per day and 600 per minute, per site. That is generous for spot-checking specific URLs and far too small for auditing indexation across a large site, which is why third-party crawlers remain necessary even though Google publishes its own view.Why do the numbers not add up?
Grouping by a dimension does not return the same totals as the site-level figures, and the reasons involve how Google filters and aggregates performance data. Google publishes a dedicated guide to performance data filtering and limits, and it is worth reading before you spend a day reconciling a discrepancy that is expected behaviour.How current is the data?
A few hours behind for hourly data, which the API returns for up to the last 10 days. The newest daily data can still be preliminary. The dataState parameter lets you request fresh data including the most recent incomplete days, or finalised data only, so you can choose between timeliness and stability rather than discovering the difference in a report.Can I get competitor data from it?
No, and this is the fundamental boundary. Search Console covers only properties you have verified. Every competitor question, every keyword you do not already rank for and every backlink someone else has needs a third-party provider, which is what the rest of this directory is for.Search Console or a paid rank tracker?
Both, for different jobs. Search Console gives you real impressions, clicks and average position across every query Google associated with your site. A rank tracker gives you a specific position for a specific keyword in a specific location on a specific day, which Search Console's averages cannot. Use the free one for truth and the paid one for precision.
This is an independent review. We have no affiliate relationship with Google Search Console API, earn nothing if you sign up, and no provider pays for placement in the directory. Prices were read from the vendor's own pages in September 2026 and change without notice.