Free SERP Pixel Position Tracker in 2026: What's Really Free

By Anurag Pathak· · 17 min read

Search for “free SERP pixel position tracker” and most of what comes back is about marketing pixels, the tiny images that ad platforms use to count visits. That is a different thing. SERP pixel position is the distance, in pixels, from the top of a results page to your listing.

Short answer: We found no free-forever SERP pixel position tracker. Free means measuring by hand in browser developer tools, or a trial: Nozzle 14 days, Advanced Web Ranking 7 days, DataForSEO a $1 credit. Paid pixel position APIs bill per check, and the paid options are compared below.

The figures below come from each vendor’s pricing and help pages, read on 2026-10-23, plus our own sums. Nothing was benchmarked or trialled, so you will find no accuracy or speed numbers. Where a page printed no figure, we write “not verified.” Serpent is one of the options, and its arithmetic is shown.

Why rank #1 can sit far down the page

Rank counts organic results. It does not count the ads, the AI Overview, the featured snippet or the People Also Ask block that render above them. Two keywords can both show “position 1” in a report while one starts near the top of the screen and the other starts a scroll and a half below it.

Vendors give worked examples of the gap. Nozzle’s own post says the first result usually sits between 155 and 172 pixels from the top when no ads show. Advanced Web Ranking (AWR) shows a position-5 listing at about 1,211 pixels, below the fold, and says an expanded AI Overview adds nearly 600 pixels by itself. Those are vendor examples, not studies, but the arithmetic is easy to see.

A house floor plan on a wooden table with a yellow tape measure, a spirit level, a drill and a few screws

Does position on the page change behaviour? Three primary sources point that way, with limits:

None of these measures pixel position directly. They show that what sits above you matters, and pixel position is the number that records what sits above you. For the full case, read our explainers on what pixel position is and pixel position versus rank.

The options at a glance (read 2026-10-23)

Free routes first, then the paid ones. Units differ, so read the billing column before you compare prices.

OptionWhat it gives youFree partPrice readWatch out for
Browser developer toolsAny element’s box on a page you loadFully free$0One keyword at a time; your window, location and login shape the page
Your own Puppeteer or Playwright scriptBounding boxes you decide to collectFree softwareYour time and hostingSelectors drift; you must check you measured a real results page
Free open-source rank trackers (SerpBear)Ordinal positionFree softwareNeeds a data sourceNo pixel field in the README we read
Serpent APIpixel_position and pixel_box on four engines, desktop10 sign-up calls and 1 demo run a day, which return no pixel fields$0.60 per 1,000 Default, down to $0.03 EnterpriseBeta; desktop 1366×768 only; paid calls only
DataForSEORectangle on Google SERP API$1 trial credit, free Sandbox$1.20 per 1,000 standard queue with rectangles; $4.00 live$50 minimum top-up; the flag doubles the price
SerpApiRectangle on Google Search and Google Ads APIs250 searches a month; pixel inclusion not stated$25 a month for 1,000 searches, $3,750 for 1 millionIts post says to contact SerpApi about adding it to a plan
Nozzle“Pixels from top” and API on every plan14-day trial, no cardPro $315 a month for 60K SERPs (annual term)A SERP is the top 5 pages; plans start in the hundreds of dollars
Advanced Web RankingPixel position, fold line, alerts7-day trial, 150 keywords a dayPro $139 a month for 7,000 keywordsAPI on Agency ($279) and up; pixel by plan not stated
AccuRankerPixel positions, above or below the foldTrial not stated on pricing pageProfessional $224 a monthAPI coordinates not verified

What is really free

Measure by hand in your browser

This is the one fully free route, and it is a good way to learn what the numbers mean. Load a results page yourself, open developer tools and read an element’s box. MDN says getBoundingClientRect() is relative to the viewport, so add window.scrollY to get the distance from the top of the document:

// Paste into the DevTools console on a results page you opened yourself.
// Selectors change, so check that "h3" matches the result titles on your page.
[...document.querySelectorAll("h3")].slice(0, 12).map(el => ({
  title: el.textContent.slice(0, 50),
  y: Math.round(el.getBoundingClientRect().top + window.scrollY),
}));

This measures the title line, not the whole result block, so it will differ a little from a vendor’s block rectangle. It is fine for an audit of five keywords. It is slow for fifty and useless for five thousand.

Write your own script

Puppeteer and Playwright can do the same measuring in code. Puppeteer’s ElementHandle.boundingBox() returns the box relative to the main frame, or null if the element is not part of the layout. You set a fixed viewport, collect boxes and store them with a date. The software is free. The work is not, and we cover that below. We do not cover ways around blocks or challenges.

Free rank trackers measure the wrong thing

SerpBear is open source and tracks keyword positions in Google. Its README says it uses third-party data services or your own IPs, and the README has no mention of pixels. It is a good free rank tracker, and we compare the free ones in our free rank tracking API guide, but it gives you the ordinal number this whole article is about moving beyond.

Trials and credits

The fold is not the same on every tool

Before you compare any two tools, check where each one draws the fold. They disagree, because no single screen height is right for every visitor. AWR itself says it is impossible to define one exact fold.

SourceDesktop fold it usesNote
Advanced Web Ranking1920×1080 screenEstimated from standard screen sizes; mobile 360×800
AccuRanker1,080 pxMobile 800 px, from its blog
SerpApi (2023 blog)Top 600 pxDescribed as the “above the fold” zone
Serpent768 pxViewport is 1366×768; measured values come back as raw pixels
NozzleNot stated in the post we readReports pixels from top and share of the SERP

A result at 900 pixels is “above the fold” on a 1,080-pixel line and below it on a 768-pixel line. So store the raw pixel value, not a vendor’s above-or-below flag, and pick your own threshold. Then the number means the same thing next month.

What free really costs you

Your time

A hand measurement is one keyword per sitting, with nothing stored. A script saves the typing but moves the work to upkeep. Page layouts change, so the selector that found your result last month may find nothing next month, and a layout change is the exact event you wanted to detect.

Consistency

Pixel position is only comparable when everything else is fixed: viewport size, zoom, language, location and whether you are signed in. Your own browser changes all of those without telling you. A tracker needs the same conditions every day, or a day-to-day change may be your setup, not the page.

Wrong pages and no history

A script will happily measure a page that is not a results page, and store the number. Assert on parsed results before you write anything down: did you find result titles, and the domain you track? Also decide where history lives, because a free script keeps none unless you build it.

Terms and rules

We are not lawyers. Check each site’s terms and ask your own counsel before you build anything that runs unattended.

Close-up of the dial of a cream kitchen scale with a red needle, a second scale blurred behind it

Pixel trackers with dashboards

If you want charts, alerts and client reports rather than JSON, the paid apps are the established route. All prices below are from each vendor’s own page on 2026-10-23.

Nozzle lists “pixels from top” tracking and full API access on every plan, with a 14-day trial. Its calculator quotes Pro at $315 a month for 60,000 SERPs on the annual term, with overage at $4.98 per 1,000. One SERP there means the top 5 pages for one keyword, language, device and location. The plan list shows Basic at $421 for 10K and Advanced at $395 for 21K, an ordering that looks odd, so confirm with Nozzle.

Advanced Web Ranking lists “Pixel Position & Above the fold URLs analysis” as a feature and offers pixel-position alerts. Plans are Pro $139 a month for 7,000 keywords, Agency $279 for 14,500 and Enterprise $699 for 35,500, with API access on Agency and above. The page does not tie pixel position to a plan.

AccuRanker says on its features page that you can “track your pixel positions on the SERP” and see whether you are above or below the fold. Professional is $224 a month for 2,000 to 5,000 keywords and Expert is $764. We could not confirm a trial length or whether coordinates come through its API.

seoClarity measures pixel depth inside what it calls Visibility Share and sells by demo, with no price on the page we read.

Pixel position APIs, one by one

If you want the numbers as data to feed your own database, an API is the route. We compared providers in depth in best pixel position API providers; this is the cost-first version.

1. Serpent API

Add pixel_position=true to a Deep Search call on /api/search. Every matched item then carries pixel_position, an integer y-coordinate, and pixel_box, an {x, y, w, h} rectangle. The docs list organic results, AI Overview, featured snippet, knowledge panel, People Also Ask, ads, shopping, videos, local pack and related searches, when the page has them. Four engines carry the fields: Google, Bing, Yahoo and DuckDuckGo. Brave does not. Ads come back on Google only.

The flag adds no charge. You pay the Web rate: $0.60 per 1,000 units on Default, $0.30 on Growth after a single $100 deposit, $0.10 on Scale after $500 and $0.03 on Enterprise after $1,000. Deep Search bills one unit per page requested, so the default 10 results is one unit. There is no subscription, and deposited credits do not expire.

The honest limits: it is a beta, it is desktop only at a 1366×768 viewport, and it is paid only. A call served from the free allowance returns metadata.pixelPositionUnavailable set to free_tier and no pixel fields. Quick Search accepts the flag but returns not_supported_on_quick. The first deposit is $10, which at the Default rate is about 16,600 checks (our arithmetic).

Try it: The playground runs a free Deep Search call so you can see the response shape. Pixel fields need a paid call, so add credit when you are ready to measure. See the Pixel Position API page for the full field list.

2. DataForSEO

DataForSEO’s help centre says you set calculate_rectangles to true on a Google SERP API task, and each element then carries a rectangle with x, y, width and height. Some elements, such as knowledge graph items in its sample, have the rectangle set to null. You can also set a custom screen size.

It is the one vendor that prints the surcharge. The cost page says the parameter adds one base price, so a standard-queue task goes from $0.60 to $1.20 per 1,000, and a live task from $2.00 to $4.00. Standard queue turnaround averages about 5 minutes on its page and live is up to 6 seconds. The minimum top-up is $50, and funds do not expire. We cover its plan structure in our DataForSEO pricing explainer.

3. SerpApi

SerpApi’s Pixel Position page lists two APIs, the Google Search API and the Google Ads API. You add output=json_with_pixel_position and each supported element gains a rectangle, plus the viewport size. If a measurement fails, the response carries an error key while the search itself may still be valid.

The pages we read print no pixel surcharge, and its blog post says to email SerpApi about adding the feature to your plan. So the cost is a plan price: a free plan of 250 searches a month, then $25 a month for 1,000 searches, up to $3,750 for 1 million. Whether the free plan includes pixel position is not stated. See our SerpApi pricing explainer for the ladder.

Cost at 1K, 10K, 100K and 1M checks

One check here is one keyword, one location, one device, first page. The figures are sums on the rates above, not vendor quotes. SerpApi’s row is the plan that covers the volume, and we could not confirm pixel position is on every plan.

Option1,000 checks10,000100,0001,000,000
Serpent Default ($0.60/1K)$0.60$6$60$600
Serpent Growth ($100 deposit)$0.30$3$30$300
Serpent Scale ($500 deposit)$0.10$1$10$100
Serpent Enterprise ($1,000 deposit)$0.03$0.30$3$30
DataForSEO standard queue + rectangles$1.20$12$120$1,200
DataForSEO live + rectangles$4.00$40$400$4,000
SerpApi plan covering the volume$25$150$725$3,750

How to read it

A worked example

Say you track 500 keywords once a day for a month. That is 500 × 30 = 15,000 checks. On Serpent Default that is $9, and $4.50 on Growth. On DataForSEO it is $18 on the standard queue and $60 live. On SerpApi, the plan that covers 15,000 searches is Production at $150. An app plan from $139 to $315 a month buys you dashboards on top, which is the real comparison.

How to choose

For tracker design, see pixel position versus SERP features and build a rank tracker in 100 lines of Python. For rank tracking costs more broadly, read SERP API rank tracking cost.

Quick start with Serpent

This is the request from the API docs:

curl "https://apiserpent.com/api/search?q=car+insurance+quotes&engine=google&country=us&pixel_position=true" \
  -H "X-API-Key: YOUR_API_KEY"

And a short helper that returns rank, pixel position and whether the result starts on the first screen. Pixel fields can be missing, so it checks for them. We did not run this code; we checked it against the field names in the docs.

import os
import requests

FOLD = 768  # the viewport height the page is measured against

def first_screen(keyword, domain):
    resp = requests.get(
        "https://apiserpent.com/api/search",
        headers={"X-API-Key": os.environ["SERPENT_API_KEY"]},
        params={"q": keyword, "engine": "google", "country": "us",
                "pixel_position": "true"},
        timeout=60,
    )
    data = resp.json()
    if not data.get("success"):
        return None
    for row in (data.get("results") or {}).get("organic") or []:
        if domain in row["url"]:
            y = row.get("pixel_position")  # absent on free-tier calls or deep rows
            return {"rank": row["position"], "y": y,
                    "starts_on_first_screen": None if y is None else y < FOLD}
    return None

Run it daily per keyword and store the date, rank and y. Then alert on the case rank cannot see: rank unchanged while y grew by a few hundred pixels. That is a new block above you. Keep each call at the default 10 results, since the docs say deeper rows are likeliest to arrive without pixel fields.

Limits and unknowns

FAQ

Is there a free SERP pixel position tracker?

We found no free-forever one. Free options are measuring by hand in your browser's developer tools, a script of your own, and trials: Nozzle gives 14 days, Advanced Web Ranking gives 7 days, and DataForSEO gives a $1 credit. Free open-source rank trackers such as SerpBear track ordinal position, not pixels. On the rates we read, paid pixel position APIs start at $0.60 per 1,000 checks.

What is pixel position in SEO, and how is it different from rank?

Rank is an ordinal: first organic result, second, third. Pixel position is a distance: how many pixels down the rendered results page your listing starts, measured from the top. Ads, an AI Overview, a featured snippet and People Also Ask can all sit above the first organic result, so rank 1 on one keyword can start far lower on the page than rank 1 on another.

How do I measure pixel position myself for free?

Open the results page in your own browser, open developer tools and read an element's getBoundingClientRect().top plus window.scrollY. That gives its distance from the top of the document. It works for a handful of keywords. It does not give you history, a fixed viewport or any scale, so it suits an audit, not a tracker.

Which SERP APIs return pixel position?

From the pages we read on 2026-10-23: Serpent returns pixel_position and pixel_box on Google, Bing, Yahoo and DuckDuckGo Deep Search, desktop only. DataForSEO returns a rectangle on its Google SERP API when calculate_rectangles is true. SerpApi documents it for its Google Search and Google Ads APIs. Nozzle, Advanced Web Ranking and AccuRanker are tracking apps that report pixel position.

How much does pixel position tracking cost per keyword?

By our arithmetic, one check of one keyword costs $0.0006 on Serpent's Default rate, $0.0012 on DataForSEO's standard queue with rectangles, and $0.0003 on Serpent's Growth rate. Tracking 500 keywords daily for a month is 15,000 checks: $9 on Serpent Default, $18 on DataForSEO's standard queue with rectangles. Apps with dashboards start at $139 a month.

Does pixel position work on mobile?

It depends on the tool. Advanced Web Ranking estimates a mobile fold at 360 by 800, and DataForSEO's help page says you can set a custom browser screen size. Serpent measures desktop only today, at a 1366 by 768 viewport, so a mobile-first report has a real gap there. Check each vendor's current page before you buy.

Sources (all read 2026-10-23)

Related reading on Serpent: free rank tracking API, free Google search API, SERP APIs with no minimum and a free tier.

Pixel position on four engines, from $0.03 per 1,000 checks

Serpent API adds pixel_position and pixel_box to Deep Search on Google, Bing, Yahoo and DuckDuckGo at the ordinary Web rate. Pay as you go, no subscription, deposited credits never expire. Start free with 10 calls, no card. Pixel fields need a paid call.

Start Free — 10 Calls, No Card

Explore: Pixel Position API · Docs · Playground · Pricing

Related Posts