Use cases
See who owns a topic.
Run the searches your customers run, count which sites appear, and you have a picture of who is winning attention in your market.
How it works
- 1Collect the searches that matter
Product categories, problems people describe, comparisons between brands.
- 2Fetch the results for each
Go as deep as you need, in each country you sell in.
- 3Count the domains
Rank sites by how often and how high they appear. Repeat monthly to see movement.
Which sites appear most for a set of searches
import os, requests
from collections import Counter
from urllib.parse import urlparse
def share_of_results(queries: list[str], country: str = "us") -> Counter:
seen = Counter()
for q in queries:
r = requests.get(
"https://plainserp.com/v1/search",
params={"q": q, "num": 20, "gl": country},
headers={"Authorization": f"Bearer {os.environ['PLAINSERP_KEY']}"},
timeout=30,
)
r.raise_for_status()
seen.update(urlparse(hit["url"]).netloc for hit in r.json()["results"])
return seen
print(share_of_results(["best crm for startups", "crm pricing comparison"]).most_common(10))Why it fits
- Clean lists of links are easy to count, compare and chart.
- Country and language settings show how a market differs by region.
- Low cost makes it practical to repeat the same study every month.
Know before you start
- It shows who appears in organic results, not how much traffic they get.
- Ads and shopping results are left out, so paid competition isn't visible.
What it costs
A monthly study of 1,000 searches in 3 countries
That is 3,000 searches a month at $0.30 per 1,000. Your first 1,000 are free.
$0.90
a month