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
  1. 1
    Collect the searches that matter

    Product categories, problems people describe, comparisons between brands.

  2. 2
    Fetch the results for each

    Go as deep as you need, in each country you sell in.

  3. 3
    Count 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