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
- 1Choose what to watch
Your brand, your product names, your competitors, or a phrase in quotes.
- 2Search on a schedule
Set time to day so each run only returns recent pages.
- 3Keep 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 freshWhy 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