Track keyword rank across search engines with one API call
Query the Browserless Search API for live position data on any keyword and scrape each ranking page in the same request. No proxies to rotate. No scraper to rewrite each time a SERP layout changes.
Build your own SERP scraper, or call an API that works
Homemade rank trackers usually start as scripts that fetch Google's HTML and parse it with CSS selectors. That works until an IP gets flagged or the markup changes.
- Rotate proxies yourself to avoid IP blocks.
- Rewrite CSS selectors every time the SERP markup shifts.
- Handle CAPTCHAs and consent screens manually.
- Parse raw HTML into position data by hand.
- One POST request returns position, title, URL, and description for each result.
- No proxies, CAPTCHAs, or selectors to maintain on your side.
- Add
scrapeOptionsto the same call to pull each ranking page’s content. - Query by country, location, and language, and search web, news, or image results.
What is a rank tracker API?
A rank tracker API returns keyword ranking data programmatically. The Browserless Search API returns the raw data a rank tracker needs: position, title, URL, and description for every result, ready to plug into your own tool, spreadsheet, or dashboard.
A rank tracker API built on Browserless
The Search API is built for programmatic access, not a fixed dashboard. Pair it with your own storage and scheduling to build the rank tracking tool your team or agency needs.
Every result includes a position field, so you get the exact rank for a keyword without counting through HTML or maintaining your own parser.
Pass country and location parameters to see how a keyword ranks in a specific market, add lang for language targeting, and use tbs to narrow results to a recent time window.
Add scrapeOptions to your search call and Browserless fetches each result URL, returning clean markdown or HTML, so you can audit ranking pages without a second call.
Search across multiple result types from one endpoint – ideal if you’re tracking brand visibility beyond top-ten organic results. Restrict results to GitHub repositories, academic papers, or PDF documents with the categories parameter.
Browserless handles the search infrastructure, including proxy routing, so you're not maintaining the IP rotation a homemade rank tracker needs at volume.
The API returns fresh ranking data on every call. Store each response with a timestamp in your own database, then chart the trend in Power BI, Google Data Studio, or a custom dashboard.
How to check keyword rank with the Search API
You don’t need Puppeteer or Playwright to pull ranking data. Send a POST request to /search and read the position field straight from the JSON response. These code samples use curl, but the same request works from any language that can send JSON over HTTP.
Sign up and get an API token
Grab a free token from the Browserless dashboard. The Search API is currently in beta and available on Cloud plans.
Send your query
POST your keyword to /search with the country and language you want to track.
cURL · /search
curl --request POST \
--url 'https://production-sfo.browserless.io/search?token=YOUR_API_TOKEN_HERE' \
--header 'Content-Type: application/json' \
--data '{
"query": "rank tracker api",
"country": "us",
"lang": "en"
}'Read the position field
Each item in the response comes back with a position number, so you know exactly where a page ranks for that keyword.
Response
{
"success": true,
"data": {
"web": [
{ "title": "...", "url": "...", "description": "...", "position": 1 }
]
},
"totalResults": 10
}Add scraping if you need page content
Pass scrapeOptions in the same request to pull markdown from each ranking result, without a second call.
Request body
{
"query": "rank tracker api",
"scrapeOptions": {
"formats": ["markdown"],
"onlyMainContent": true
}
}Teams trust Browserless with production data
175M+
Docker pulls
8 years
in production
99.9%
uptime
SOC 2
Type II
Rank tracker API FAQs
Rank tracker API FAQs
Ready to build your rank tracker?
Start free. No credit card required. Query your first keyword in minutes.