You already know the keywords your buyers type into Google, and you have probably never read those results as a prospect list. Every domain on SERP belongs to a company that decided your audience was worth spending money on, whether the money went to writers or to an agency. Checking one page by hand takes a minute. Checking fifty, then stripping the duplicate domains and working out who deserves the first email, is how an afternoon disappears. What follows is the same job done with our SERP API and DataForSEO Labs API, ending with a list short enough to work through.
Every SERP is a shortlist of companies chasing your buyers
Start with one keyword and one call. Our SERP API returns the organic and paid results Google served for that query, plus an item_types array listing every element type on the page, ai_overview and people_also_ask elements included. Depth defaults to ten results, which matches how billing works: you pay per SERP of up to 10 results. Reach for depth and max_crawl_pages when you want the rest of the page, and count every extra page of ten as another SERP.
The request below retrieves the first page for a single keyword in the US.
Request example:
[
{
"keyword": "applicant tracking system",
"location_name": "United States",
"language_code": "en",
"device": "desktop",
"depth": 10
}
]
Response example:
{
"version": "0.1.20260902",
"status_code": 20000,
"status_message": "Ok.",
"time": "2.5760 sec.",
"cost": 0.002,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": "09101041-1535-0121-0000-9c590b63126b",
"status_code": 20000,
"status_message": "Ok.",
"time": "2.3759 sec.",
"cost": 0.002,
"result_count": 1,
"path": [
"v3",
"serp",
"google",
"organic",
"live",
"regular"
],
"data": {
"api": "serp",
"function": "live",
"se": "google",
"se_type": "organic",
"keyword": "applicant tracking system",
"location_name": "United States",
"language_code": "en",
"device": "desktop",
"depth": 10,
"os": "windows"
},
"result": [
{
"keyword": "applicant tracking system",
"type": "organic",
"se_domain": "google.com",
"location_code": 2840,
"language_code": "en",
"check_url": "https://www.google.com/search?q=applicant%20tracking%20system&hl=en&gl=US&ie=UTF-8&uule=w+CAIQIFISCQs2MuSEtepUEUK33kOSuTsc",
"datetime": "2026-09-10 10:41:51 +00:00",
"spell": null,
"refinement_chips": null,
"item_types": [
"ai_overview",
"organic",
"people_also_ask",
"related_searches"
],
"se_results_count": 107,
"pages_count": 1,
"items_count": 9,
"items": [
{
"type": "organic",
"rank_group": 1,
"rank_absolute": 2,
"page": 1,
"domain": "technologyadvice.com",
"title": "Top Applicant Tracking Systems (ATS)",
"description": "Aug 27, 2026 — Jump to our applicant tracking software finder to compare platforms based on your team size, hiring goals, and must-have features.",
"url": "https://technologyadvice.com/applicant-tracking-systems/",
"breadcrumb": "https://technologyadvice.com › applicant-tracking-systems"
},
{
"type": "organic",
"rank_group": 2,
"rank_absolute": 4,
"page": 1,
"domain": "peoplemanagingpeople.com",
"title": "10 Best Applicant Tracking Systems (ATS) of 2026",
"description": "Aug 31, 2026 — 10 Best Applicant Tracking Systems Shortlist · 1. Greenhouse — Best for sourcing many qualified candidates · 2. Pinpoint — Best for in-house ... Read more",
"url": "https://peoplemanagingpeople.com/tools/best-applicant-tracking-systems/",
"breadcrumb": "https://peoplemanagingpeople.com › Tools"
},
{
"type": "organic",
"rank_group": 3,
"rank_absolute": 5,
"page": 1,
"domain": "www.oracle.com",
"title": "What Is an Applicant Tracking System?",
"description": "An applicant tracking system (ATS) is software for recruiters and employers to track candidates throughout the recruiting and hiring process.",
"url": "https://www.oracle.com/human-capital-management/recruiting/what-is-applicant-tracking-system/",
"breadcrumb": "https://www.oracle.com › recruiting › what-is-applicant..."
},
{
"type": "organic",
"rank_group": 4,
"rank_absolute": 6,
"page": 1,
"domain": "www.reddit.com",
"title": "What's the best and worst Applicant Tracking System (ATS) ...",
"description": "I have a chance to choose a different ATS for the hiring season. I'm checking out the options out there like Workday, Ashby, Greenhouse and so on. Just ...",
"url": "https://www.reddit.com/r/Recruitment/comments/19bnsna/whats_the_best_and_worst_applicant_tracking/",
"breadcrumb": "230+ comments · 2 years ago"
},
{
"type": "organic",
"rank_group": 5,
"rank_absolute": 7,
"page": 1,
"domain": "www.sap.com",
"title": "What is an Applicant Tracking System (ATS)?",
"description": "An applicant tracking system (ATS) is a software application for human resources (HR) that helps organizations manage recruitment and hiring tasks digitally.",
"url": "https://www.sap.com/resources/what-is-an-applicant-tracking-system",
"breadcrumb": "https://www.sap.com › resources › what-is-an-applicant..."
},
{
"type": "organic",
"rank_group": 6,
"rank_absolute": 8,
"page": 1,
"domain": "zapier.com",
"title": "The 9 best applicant tracking systems in 2026",
"description": "Jul 28, 2026 — Discover the best applicant tracking systems that streamline your hiring process. Find the perfect ATS to manage job postings, ...",
"url": "https://zapier.com/blog/best-applicant-tracking-systems/",
"breadcrumb": "https://zapier.com › App picks › Best apps"
},
{
"type": "organic",
"rank_group": 7,
"rank_absolute": 9,
"page": 1,
"domain": "www.coursera.org",
"title": "Navigating the Applicant Tracking System (ATS): A Job Guide",
"description": "Jun 9, 2026 — Applicant tracking systems are software that help companies manage large volumes of job applications and identify the best possible candidates.",
"url": "https://www.coursera.org/articles/applicant-tracking-system",
"breadcrumb": "https://www.coursera.org › ... › Career Support"
},
{
"type": "organic",
"rank_group": 8,
"rank_absolute": 10,
"page": 1,
"domain": "www.avature.net",
"title": "AI-Powered Applicant Tracking System",
"description": "AI in applicant tracking systems helps recruiters identify relevant candidates faster, prioritize applicants more effectively, and reduce manual effort in ...",
"url": "https://www.avature.net/applicant-tracking-system/",
"breadcrumb": "https://www.avature.net › applicant-tracking-system"
},
{
"type": "organic",
"rank_group": 9,
"rank_absolute": 11,
"page": 1,
"domain": "en.wikipedia.org",
"title": "Applicant tracking system",
"description": "An applicant tracking system (ATS) is a software application that enables the electronic handling of recruitment and hiring processes. An ATS is very ... Read more",
"url": "https://en.wikipedia.org/wiki/Applicant_tracking_system",
"breadcrumb": "https://en.wikipedia.org › wiki › Applicant_tracking_sy..."
}
]
}
]
}
]
}
Endpoint used: https://api.dataforseo.com/v3/serp/google/organic/live/regular. See the Live Google Organic SERP Regular documentation for the full parameter list.
That is nine domains doing four different jobs. Oracle and SAP hold definition pages, while TechnologyAdvice, People Managing People, and Zapier run best-of listicles. Avature is the only one on the page selling an ATS. Wikipedia, Reddit, and Coursera turned up for reasons unrelated to buying software. Two fields are worth a look before you move on. The gap between rank_group and rank_absolute indicates how much of the page’s visibility went to elements other than organic results. And check_url links back to the exact search we ran, which settles any later argument about where a domain came from.
For prospecting, position carries most of the signal. Anyone in the top three has already won the term and probably does not need you. The interesting names sit lower down, spending on the same audience without the traffic to show for it. One keyword only gives you one page, though, and your buyers search dozens.
Turn a keyword list into a ranked list of domains
You could run that call for every keyword and merge the results yourself. The SERP Competitors endpoint in our DataForSEO Labs API does the merging instead. Pass up to 200 keywords in one request, and you get back every domain ranking across them. Each domain comes with its average and median position, the count of your keywords it ranks for, an estimated traffic volume, and a visibility score.
We ran four of them for the US: “applicant tracking system”, “recruiting software”, “hiring software”, and “candidate sourcing tools”. Back came 212 domains, which is the raw pool of everyone holding ground on those four searches. Sorting is built in, so you can order by etv to see who takes the traffic, or by avg_position to see who sits closest to the top.
The item_types parameter defaults to organic and paid results, so advertisers stay in the pool unless you drop them. We kept it to organic here. Leaving paid results in is one way to catch companies that are already buying the keyword.
In practice, a pool of 212 domains is still not a prospect list. Reddit and YouTube both placed in the top ten by rating.
Filter down to the companies worth an email
Filtering runs on our side, before anything reaches your spreadsheet. You can stack up to eight filtering conditions and three sorting rules in a single request, and the DataForSEO Labs API filters guide covers the syntax details.
The segment worth building first is the page-two band: domains with a median position between 11 and 30 across your keyword set. Add a floor of two matching keywords, exclude the obvious non-companies, and what is left is a set of businesses that made content for your terms and are not getting traffic for it. That makes for an easy first email, because you can point at a number they can go and check themselves.
Request example:
[
{
"keywords": [
"applicant tracking system",
"recruiting software",
"hiring software",
"candidate sourcing tools"
],
"location_name": "United States",
"language_code": "en",
"item_types": [
"organic"
],
"filters": [
[
"median_position",
"in",
[
11,
30
]
],
"and",
[
"keywords_count",
">=",
2
],
"and",
[
"domain",
"not_like",
"%reddit.com%"
],
"and",
[
"domain",
"not_like",
"%youtube.com%"
]
],
"order_by": [
"etv,desc"
],
"limit": 5
}
]
Response example:
{
"version": "0.1.20260902",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.2437 sec.",
"cost": 0.01248,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": "09101040-1535-0383-0000-42f810bca5fd",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.1219 sec.",
"cost": 0.01248,
"result_count": 1,
"path": [
"v3",
"dataforseo_labs",
"google",
"serp_competitors",
"live"
],
"data": {
"api": "dataforseo_labs",
"function": "serp_competitors",
"se_type": "google",
"keywords": [
"applicant tracking system",
"recruiting software",
"hiring software",
"candidate sourcing tools"
],
"location_name": "United States",
"language_code": "en",
"item_types": [
"organic"
],
"filters": [
[
"median_position",
"in",
[
11,
30
]
],
"and",
[
"keywords_count",
">=",
2
],
"and",
[
"domain",
"not_like",
"%reddit.com%"
],
"and",
[
"domain",
"not_like",
"%youtube.com%"
]
],
"order_by": [
"etv,desc"
],
"limit": 5
},
"result": [
{
"se_type": "google",
"seed_keywords": [
"applicant tracking system",
"recruiting software",
"hiring software",
"candidate sourcing tools"
],
"location_code": 2840,
"language_code": "en",
"total_count": 4,
"items_count": 4,
"items": [
{
"se_type": "google",
"domain": "www.selectsoftwarereviews.com",
"avg_position": 13,
"median_position": 11,
"rating": 348,
"etv": 261.69899999999996,
"keywords_count": 4,
"visibility": 0.9000000000000001,
"relevant_serp_items": 4,
"keywords_positions": {
"recruiting software": [
3
],
"hiring software": [
12
],
"candidate sourcing tools": [
11
],
"applicant tracking system": [
26
]
}
},
{
"se_type": "google",
"domain": "www.paylocity.com",
"avg_position": 14.5,
"median_position": 11,
"rating": 171,
"etv": 110.968,
"keywords_count": 2,
"visibility": 0.1,
"relevant_serp_items": 2,
"keywords_positions": {
"hiring software": [
18
],
"applicant tracking system": [
11
]
}
},
{
"se_type": "google",
"domain": "www.pin.com",
"avg_position": 17.5,
"median_position": 11,
"rating": 165,
"etv": 22.029,
"keywords_count": 2,
"visibility": 0.05,
"relevant_serp_items": 2,
"keywords_positions": {
"recruiting software": [
11
],
"candidate sourcing tools": [
24
]
}
},
{
"se_type": "google",
"domain": "www.talentheromedia.com",
"avg_position": 38.5,
"median_position": 30,
"rating": 123,
"etv": 5.586,
"keywords_count": 2,
"visibility": 0,
"relevant_serp_items": 2,
"keywords_positions": {
"recruiting software": [
30
],
"hiring software": [
47
]
}
}
]
}
]
}
]
}
Endpoint used: https://api.dataforseo.com/v3/dataforseo_labs/google/serp_competitors/live
Those filters cut 212 domains down to four, and the request came back in a fifth of a second for $0.01248. Every response carries a cost field, so you know what a run costs before you scale it up. Four names are a thin list, but that is because four keywords are a thin seed, and the endpoint takes 200 per call.
Keep the keywords_positions field. It shows which of your keywords each domain ranks for and at what position, which is what you quote in the opening line of the email.
Score the list before you write anything
A domain only becomes a lead once you know how big the company behind it is. Paylocity and Talent Hero Media landed on the same page-two band here, and they are nowhere near the same prospect.
Bulk Traffic Estimation takes up to 1,000 domains in one request and returns estimated monthly organic traffic for each, along with the number of SERPs the domain appears in. Run against the four candidates above, it put Paylocity at roughly 1.4 million estimated monthly visits across 89,075 SERPs. SelectSoftware Reviews came back at about 26,200, Pin at about 16,200, and Talent Hero Media at 581 across 874 SERPs.
A gap that wide splits the list into two different conversations. Paylocity has an in-house team and will not read a cold audit, while Talent Hero Media might reply the same day. Bear in mind that the estimate is modeled on search volume and click-through rates rather than measured, so use it for sizing rather than reporting. Our ETV explainer covers the calculation in full.
One thing that will catch you out. SERP Competitors returns domains the way Google shows them, so plenty arrive with a www. prefix. Bulk Traffic Estimation expects them without it and reads www.paylocity.com as a subdomain instead.
Start reading your own SERPs
The companies ranking for your keywords have already told you two things about themselves: they sell to the same buyers you do, and how well their search spending is going. Two endpoints turn that into something you can work with. SERP Competitors gives you the domains and their positions across your whole keyword set, and Bulk Traffic Estimation tells you which of them deserve a written email rather than a template. Wiring up the last step is not your problem either. Our no-code templates push the result into HubSpot, Salesforce, or Pipedrive through Make, n8n, or Google Sheets, so the list lands in the CRM your team already uses. Try for free and run your first keyword set through SERP Competitors in the sandbox.