- What a marketer gets from the API
- The 25,000 row ceiling, and why rows go missing
- Dates are in Pacific time
- Getting the property name right
- Filters that behave differently than you'd expect
- Search Console API quotas
- Load quota: what makes a query expensive
- URL Inspection through the API
- Pulling a report without hitting the wall
- My take on the Search Console API
- Frequently asked questions
The Google Search Console API lets you pull the same clicks, impressions and query data you see in Search Console straight into a spreadsheet, dashboard or database, up to 25,000 rows per request. As of October 2026 it covers Search Analytics data and URL Inspection results, with quotas per site, per user and per project.
Here's the catch. The API doesn't promise you every row, only the top ones, sorted by clicks. Dates are in Pacific time, not yours. A Domain property has to be written as sc-domain:example.com or you'll get nothing back. And asking for page and query together over six months is the most expensive request you can make against your quota.
What a marketer gets from the API
The Search Analytics query is the one most people want. You choose a date range and the dimensions to group by: country, device, page, query, searchAppearance, date and hour. Results come back sorted by click count, highest first.
You also pick a search type. Web is the default and matches the combined All tab, which doesn't include Discover or Google News. The other types are image, news and googleNews. If you've only used the reports, my guide to SEO analysis in Google Search Console shows what that same data tells you on screen.
The 25,000 row ceiling, and why rows go missing
Each request returns 1,000 rows by default and up to 25,000 if you set rowLimit. For more, you page through with startRow, which starts counting at zero.
Paging won't always get you everything, though. Google says the API is bounded by Search Console's internal limits and doesn't guarantee to return all data rows, only the top ones. So for a big site, the long tail of queries with one or two clicks may never show up, however many pages you request.
Dates are in Pacific time
Both startDate and endDate are required, written as YYYY-MM-DD, and they're in Pacific time, UTC minus 7 or 8 depending on the season. If you're in London or Sydney, a day in the API isn't your calendar day, so a daily report can look a few hours off against your own analytics. When date is one of your dimensions, days with no data are left out instead of showing as zero.
Getting the property name right
The site you query has to match the property exactly as it's set up in Search Console. A URL-prefix property is the full address, such as http://www.example.com/, and for URL Inspection it must include the trailing slash. A Domain property is written sc-domain:example.com. You'll need the webmasters.readonly or webmasters OAuth scope to read either.
One more rule: if you group or filter by page, you can't aggregate by property. Leave aggregation on auto.
Filters that behave differently than you'd expect
You can filter with contains, equals, notContains and notEquals, plus RE2 regular expressions to include or exclude. Equals is the default, and for page and query it's case-sensitive, so Shoes and shoes are two different filters. A filter expression can be up to 4,096 characters.
Search Console API quotas
Quotas are counted in queries per minute and queries per day, shortened below to QPM and QPD. As of October 2026:
| Quota | Limit |
|---|---|
| Search Analytics, per site | 1,200 QPM |
| Search Analytics, per user | 1,200 QPM |
| Search Analytics, per project | 30,000,000 QPD and 40,000 QPM |
| URL Inspection, per site | 2,000 QPD and 600 QPM |
| URL Inspection, per project | 10,000,000 QPD and 15,000 QPM |
| Other resources, per user | 20 queries per second and 200 QPM |
| Other resources, per project | 100,000,000 QPD |
The per-user figure is shared. Google's example: a user with three sites has 1,200 QPM combined across all three, not 1,200 each.
Want AI doing the heavy lifting in your marketing?
I build the systems that handle the boring 80 percent, so you get your week back. Done properly, with the human kept in.
Load quota: what makes a query expensive
On top of the request counts there's a load quota, measured in 10-minute chunks for the short term and 1-day chunks for the long term. Go over the short-term one and Google asks you to wait 15 minutes. Every case returns the same quota exceeded error, so the message won't tell you which limit you hit.
What drives load up: grouping or filtering by page or by query string, with page and query together the most expensive of all. The date range matters too, and six months costs far more than one day. Re-querying data you've already pulled is pure waste.
URL Inspection through the API
The URL Inspection endpoint returns the status of the indexed version of a page only. You can't run a live test of a URL's indexability through the API, so for that you still need the tool inside Search Console.
Pulling a report without hitting the wall
- Create or choose a Google Cloud project and turn on the Search Console API.
- Authorise with the webmasters.readonly scope, since a report only needs to read.
- Write the site the way Search Console has it: sc-domain:example.com for a Domain property, the full URL with a trailing slash for URL-prefix.
- Send the query with startDate, endDate, your dimensions and a rowLimit up to 25,000, paging with startRow.
- Pull page plus query over long ranges in smaller date slices, and store what you've pulled instead of fetching it again.
My take on the Search Console API
I'd use the API the moment you're exporting the same Search Console report every week, or feeding search data into a dashboard you check daily. I'd skip it if you need every last query for a huge site, because it only promises the top rows. For a reminder of what Search Console measures that Analytics doesn't, here's how Search Console and Google Analytics differ.
Search data is also where you'll first notice how AI answers are changing the clicks you get. I run AI training and workshops for teams, and help businesses with AI enablement, AI automation and GEO, which is about getting your business seen and cited in AI answers. Most of that work is with SaaS marketing teams, telecom companies and small businesses. Here's how we can work together.
Frequently asked questions
How many rows can the Google Search Console API return?
Up to 25,000 rows per request, with 1,000 as the default. Page through with startRow, but the API only promises the top rows, not all of them.
What time zone does the Search Console API use?
Pacific time. Both startDate and endDate are read in Pacific time, so a day in the API may not match your local calendar day.
How do I query a Domain property in the Search Console API?
Use the sc-domain: prefix, such as sc-domain:example.com. URL-prefix properties use the full URL with a trailing slash.
What is the Search Console API quota?
As of October 2026, Search Analytics allows 1,200 queries per minute per site and per user, and 30,000,000 per day and 40,000 per minute per project.
Can the Search Console API run a live URL test?
No. The URL Inspection API returns the status of the indexed version only. Live tests still need the tool inside Search Console.


