Use cases

Know when you're mentioned.

Search for your name on a schedule with the time filter set to the past day, and you get a feed of pages that are new.

How it works
  1. 1
    Choose what to watch

    Your brand, your product names, your competitors, or a phrase in quotes.

  2. 2
    Search on a schedule

    Set time to day so each run only returns recent pages.

  3. 3
    Keep what's new

    Compare links against the ones you have already seen and alert on the rest.

New mentions from the past day
import os, requests

seen: set[str] = set()  # load this from wherever you store it

def new_mentions(term: str) -> list[dict]:
    r = requests.get(
        "https://plainserp.com/v1/search",
        params={"q": f'"{term}"', "num": 20, "time": "day"},
        headers={"Authorization": f"Bearer {os.environ['PLAINSERP_KEY']}"},
        timeout=30,
    )
    r.raise_for_status()
    fresh = [hit for hit in r.json()["results"] if hit["url"] not in seen]
    seen.update(hit["url"] for hit in fresh)
    return fresh
Why it fits
  • The time filter narrows results to the past day, week, month or year.
  • Search operators such as quotes, site: and minus work as they do on Google.
  • A check every hour costs very little.
Know before you start
  • It finds pages Google has indexed. Social posts and pages behind logins mostly won't appear.
  • There is no push alert. You run the searches and decide what counts as new.
What it costs

Watching 50 terms once an hour

That is 1,200 searches a day at $0.30 per 1,000. Your first 1,000 are free.

$0.36
a day