Rankite
ServicesResultsToolsTeamAboutBlogCareersContactFree SEO Audit
Technical

How to Check Your Keyword Position Using the Google API

Home / Blog / How to Check Your Keyword Position Using the Google API
How to Check Your Keyword Position Using the Google API

To check your keyword position using the Google API, you use the Search Console API, which returns the average position, clicks, impressions, and CTR for queries on your own site. Google does not offer a live SERP rank API, so live, location-specific positions and competitor data require a third-party SERP API instead.

That distinction matters more than most guides admit. Mix the two up and you will either build the wrong pipeline or trust numbers that do not mean what you think. Below is the accurate version of each option, plus a real setup path.

Key takeaways

  • The Search Console API is the official, free way to pull your own keyword positions at scale, but it reports average position, not a live rank.
  • There is no official Google "live SERP position" API. Anyone promising one is using a third-party scraper, not Google.
  • Third-party SERP APIs fill the live and competitor gap, with location and device targeting, but they cost money and are estimates.
  • Most teams need both: Search Console for truth about your own pages, a SERP API for competitive context.
  • Average position blends every impression, so a "position 8" can mean position 3 for some searches and 15 for others.

Why check keyword positions through an API at all

The API approach scales in a way manual checks never will. Typing a query into an incognito window tells you one position, in one location, at one moment. An API pulls thousands of keywords on a schedule and stores the history, which is the only way to spot trends instead of noise.

The stakes are high because position drives clicks. According to Backlinko and Advanced Web Ranking data, the #1 organic result earns roughly 27 to 28% of clicks, and click-through rate falls sharply at each lower position. A two-spot drop is not cosmetic. It is lost traffic you can measure.

Organic search is also where the traffic lives. BrightEdge reports that organic search drives about 53% of all website traffic. If half your visitors arrive through Google, knowing exactly where you rank is not optional. For a structured way to act on what you find, our complete SEO site audit ties position data back to fixable on-page issues.

53%of all website trafficcomes from organic searchIf half your visitors arrive through Google, knowing exactly where you rank is not optional.
Source: BrightEdge

The Google Search Console API: what it actually gives you

This is the only Google-owned API that reports your keyword positions, and it is free. The Search Console API exposes the same Performance data you see in the dashboard, but programmatically, so you can pull far more than the UI comfortably shows.

For each query and page, it returns four metrics:

  • Clicks: how many times searchers clicked through to your site.
  • Impressions: how many times your page appeared in results.
  • CTR: clicks divided by impressions.
  • Average position: the topmost position your link held, averaged across every impression.

That last metric is the one people misread. Average position is a blend, not a live rank. If your page showed at position 3 for half its impressions and position 15 for the other half, Search Console reports roughly position 9. The number is honest, but it describes a distribution, not a single SERP. Google documents this behavior in the Search Console and Webmaster Tools API reference.

A worked example makes the trap obvious. Say one query returns these impressions over a week:

  • 500 impressions at position 2 (a desktop search in your home city)
  • 500 impressions at position 18 (a mobile search two states away)

Search Console reports an average position of 10. Yet you never actually ranked 10th for a single searcher. Half saw you near the top, half saw you on page two. A rank tracker checking one fixed location might report 2, or 18, depending on where it searched. All three numbers are correct. They just answer different questions, which is why chasing a single "true" position is the wrong goal.

The data is also yours alone. The API can only report on properties you own and have verified. It cannot show you where a competitor ranks, because Google never exposes that through this API. There is a two to three day reporting lag as well, so this is your source of truth for trends, not for what is happening on the SERP this minute.

Why there is no official Google "live SERP position" API

Google does not sell or publish an API that returns live ranking positions for arbitrary keywords. This trips up a lot of people who assume such a thing must exist somewhere in the Cloud console. It does not.

The closest official product, the Custom Search JSON API, was built to power Programmable Search Engines over a defined set of sites, not to scrape the live Google results page. It returns a curated index, not the real SERP, so it is the wrong tool for rank checking. Google has also signaled that this product is being wound down.

The reason is consistent with how Google treats automated querying of its results pages: Google Search Central guidance discourages scraping the SERP, and the company keeps that data behind the products it controls. So when a tool advertises "live Google positions via API," what runs underneath is a third-party scraper, covered next, not a Google endpoint. Being clear-eyed about this saves you from building on a foundation that does not exist.

Third-party SERP APIs: the live and competitor layer

When you need a live position, a specific city, or a competitor's rank, you use a third-party SERP API. These services run automated searches from chosen locations and devices, then return the parsed results page as structured data.

What they add over Search Console:

  • Live or near-live positions for any keyword, not just your own.
  • Location targeting down to country, region, or city.
  • Device targeting for mobile versus desktop differences.
  • Competitor visibility, since you can query any keyword and read every URL that ranks.

The trade-offs are real. These positions are estimates, because the result depends on where the tool searched from and how Google personalized that query. They cost money, usually per query or per credit, and they sit outside Google's official surface. They are excellent for competitive monitoring and weak as a single source of absolute truth. Treat them as a complement to Search Console, not a replacement. Our guide to tracking your Google ranking walks through choosing between these approaches in practice.

How a SERP rank-tracking API actually works

Under the hood, every third-party SERP API follows the same loop: send a query, fetch the results page, parse it, return structured JSON. Understanding the request parameters tells you exactly how much control you have over the position you get back.

The parameters you set on each request decide what "position" even means:

  • Query (often q): the keyword you want to check.
  • Location (location, or a Google-encoded uule value): the city, region, or country to search from. Local results shift dramatically by location, so this is the single most important field.
  • Device (device): desktop, mobile, or tablet. Mobile and desktop SERPs differ, especially for local intent.
  • Country and language (gl and hl): the country of search and the interface language. Note that Google has phased out country-specific google_domain targeting in favor of gl.
  • Result count and pagination (num, page): how many results to retrieve per call, up to 100, which lets you find rankings deep on page two or three.

The response comes back as a JSON array of organic results, each carrying a position, the page title, the URL, and the snippet, plus blocks for SERP features like featured snippets, People Also Ask, local packs, and increasingly AI Overviews. Your rank for a keyword is simply the position of the first organic result whose URL matches your domain. That is the whole mechanism, dressed up in different brand names.

Named SERP APIs and what sets them apart

If you decide you need the live or competitor layer, these are the established players. Treat the categories below as the decision, not the brand: a pay-per-task API suits variable volume, a subscription suits steady monitoring, and an all-in-one platform suits teams that want dashboards rather than raw JSON. Prices change often, so confirm current rates on each vendor's site before committing.

API / toolModelBest forNotable strength
SerpApiFreemium / subscriptionDevelopers wanting clean JSON fastMulti-engine, interactive playground, CAPTCHA handled
DataForSEOPay-per-taskCustom tools with variable volumeNo monthly minimum, white-label, 200+ locations
Bright Data SERP APIPay-per-request / customEnterprise, high-volume geo-targetingCity-level precision, scales to millions of queries
ScrapingBeeSubscription (credits)Building a custom tracker yourselfGeneral scraping plus SERP, many locations
AccuRankerSubscriptionAgencies needing on-demand refreshReal-time refresh, share-of-voice tracking
SE Ranking / SerpstatSubscriptionAll-in-one SEO platformsRanking plus audit, clustering, reporting

Larger SEO suites such as Semrush, Ahrefs, and Moz also expose ranking and SERP endpoints, usually on higher or enterprise tiers, and pair position data with their own backlink and difficulty metrics. The right pick depends on whether you want raw SERP data to build on or a finished platform that reports for you.

Building your own rank tracker on top of a SERP API

You do not need a vendor dashboard to track positions, you need six moving parts. When teams build a custom tracker, the architecture is always the same:

  1. A keyword store: the list of keywords, target URLs, locations, and devices you care about.
  2. A scheduler: a daily or weekly job that decides what to check and when.
  3. SERP API requests: one call per keyword and location combination.
  4. A parser: logic that scans the organic results for your URL and records its position.
  5. A historical database: where each day's positions are stored so you can see trends.
  6. A reporting layer: a sheet, Looker Studio, or a dashboard that turns rows into something a client can read.
Six moving parts of a custom rank trackerKeyword storeKeywords, target URLs,locations, devicesSchedulerA daily or weekly job forwhat to checkSERP API + parserOne call per keyword; findyour URLDatabase + reportingStore history, turn rowsinto a report
Source: Rankite

This is exactly why the Search Console route is the gentler on-ramp for your own pages: it hands you the keyword store and the data in one call, leaving only the scheduling and storage to you. You only need the full SERP-API build when you are tracking keywords or competitors that Search Console cannot see.

API options compared

OptionWhat it reportsCovers competitors?Live position?Cost
Search Console APIYour own clicks, impressions, CTR, average positionNoNo, 2 to 3 day lag, averagedFree
Custom Search JSON APIResults from a Programmable Search EngineNoNo, curated indexLimited free tier, being wound down
Third-party SERP APIFull live SERP for any keyword, any locationYesYes, but estimatedPaid, per query or credit

The honest summary: start with Search Console for your own truth, add a SERP API only when you need live or competitive data. Most small teams never need more than the free option.

Search Console API vs Third-party SERP APISearch Console APIYour own pages onlyAverage position, 2-3 day lagNo competitor dataFreeThird-party SERP APIAny keyword, any locationLive, location-specific positionsSees competitor rankingsPaid, per query or credit
Source: Rankite

Setting up the Search Console API: a walkthrough

Here is the realistic path to pull your positions programmatically. You do not need to be an engineer, but you do need a Google account with verified Search Console access.

  1. Verify your property in Search Console. You can only query sites you own. Confirm the property shows data in the dashboard first.
  2. Create a project in the Google Cloud console. This is the container for your API access.
  3. Enable the Search Console API for that project from the API library.
  4. Create credentials. For a personal pull, OAuth client credentials work. For an automated server job, create a service account and grant it access to your property in Search Console settings.
  5. Authenticate and call the Search Analytics endpoint. Send a query with your date range, dimensions such as query and page, and a row limit. The response returns rows with clicks, impressions, CTR, and position.
  6. Paginate for large sites. The API returns rows in batches, so loop using startRow until you have pulled everything you need.
  7. Store and schedule. Push the rows into a sheet, database, or BigQuery, and run the job daily so you build a position history over time.

If code is a barrier, a Google Sheets script using the same API is the gentlest on-ramp, and it pulls daily data without a server. Google's official quickstart and the Search Console API documentation cover both routes in detail.

Limitations you need to plan around

Search Console data is honest but imperfect, and ignoring its quirks leads to bad conclusions. Keep these in mind:

  • It is sampled and anonymized. Rare queries get dropped to protect privacy, so your totals will not perfectly match other tools.
  • Average position is averaged, not live. Revisit the distribution point above before you panic over a number.
  • Reporting lags two to three days. This is a trend tool, not a real-time monitor.
  • Dates use Pacific Time. International teams should account for the offset when comparing to local analytics.
  • Your data only. No competitor positions, ever, through this API.

For SERP APIs, the headline limitation is different: positions are location-dependent estimates, and costs scale with volume. Budget your queries the way you would budget ad spend.

Common mistakes when checking positions via API

The biggest error is treating average position as a live rank. A reader sees "8.4" and assumes their page sits at slot eight today. It might sit at three for branded searches and fifteen for broad ones. Read the metric for what it is.

A few more traps to avoid:

  • Confusing the Custom Search JSON API with a SERP scraper. It indexes a curated set of sites, not the live results page.
  • Believing a vendor's "official Google live rank API" claim. No such product exists. The vendor is scraping.
  • Comparing Search Console positions to a rank tracker and expecting a match. Different methods, different numbers, both can be correct.
  • Tracking position without tracking the keyword's value. A number one ranking on a term nobody searches helps no one. Pair position data with search volume research.
  • Stopping at measurement. Data is only useful if it changes what you publish and fix, which is the heart of how to rank on Google.

These mistakes are common because position data feels simple and is not. Context matters in an environment where Google reports its AI Overviews now reach more than 1.5 billion users a month across over 100 countries as of 2025, which reshapes how often a classic blue-link position even appears.

That measurement-to-action gap is exactly what we close for clients. When Swordfish AI partnered with Rankite, they grew revenue 400% from organic search, because we treated position data as a starting point for fixes, not a scoreboard to admire.

Frequently asked questions

Can I check live keyword positions with a free Google API? No. The free Search Console API reports your own average position with a two to three day lag, not a live rank. Live positions require a paid third-party SERP API, which is not a Google product.

Does the Google Search Console API show competitor rankings? No. It only reports data for properties you own and have verified. To see where competitors rank, you need a third-party SERP API that can query any keyword.

Why does my Search Console position differ from a rank tracker? They measure differently. Search Console averages your real impressions over time and location, while a rank tracker checks one location at one moment. Both can be accurate while disagreeing.

Is the Custom Search JSON API a SERP rank checker? No. It returns results from a Programmable Search Engine over a curated set of sites, not the live Google results page. It is the wrong tool for rank tracking, and Google is winding it down.

Do I need to write code to use the Search Console API? Not necessarily. A Google Sheets script using the same API pulls daily data without a server. A Python or service-account setup is better for fully automated, large-scale pulls.

How current is Search Console data? Expect a two to three day reporting lag, with dates measured in Pacific Time. It is built for spotting trends, not for monitoring the SERP minute by minute.

Which parameters control the position a SERP API returns? The location and device parameters matter most, because local and mobile results differ sharply. Country (gl), language (hl), and result count (num) round out the request. Change the location and the same keyword can return a completely different position.

Can I build my own keyword position tracker? Yes. You need a keyword store, a scheduler, SERP API requests, a parser that finds your URL in the results, a database for history, and a reporting layer. For your own pages, the Search Console API supplies the keyword list and data in a single call, so you only build the storage and schedule.

Do SERP APIs track AI Overviews and featured snippets? Many do. Their JSON responses include blocks for SERP features such as featured snippets, People Also Ask, local packs, and AI Overviews, alongside the classic organic positions. This matters as AI Overviews push standard blue-link results further down the page.

What to do next

Start free. Verify your property, enable the Search Console API, and pull your queries into a sheet so you have a position history within a week. Use that data to find pages stuck on page two, where small improvements move the most traffic, then add a third-party SERP API only if you need live or competitor positions.

When you are ready to turn position data into ranking gains, book a free SEO audit and we will map your highest-leverage keywords to the fixes that move them.

Related articles

Let's grow

Ready to own page one?

Get a free, no-obligation SEO audit and a 30-minute strategy session. We'll show you exactly where the growth is hiding.

Book your free audit Explore services
Get in touch

Tell us about your project

Fill out the form and we'll get back to you within one business day. Prefer email? Write to us directly at contact@rankite.com.

Or copy our email and write to us directly: contact@rankite.com