Kamran Imam All free guides
Free Guide

Build a Competitor Radar That Emails You Only What Changed

A free guide by Kamran ImamInstagram · TikTok · YouTube

Most founders find out a competitor shipped something from a customer who already left. This guide walks you through a simple agent that watches your competitors’ pricing, changelog, and launches on a schedule and reports back only what actually moved — no scraping, no maintenance headaches. Built and tested by someone with an engineering and CS background, with the part everyone gets wrong called out explicitly.

What you’re building

A scheduled agent that reads a fixed list of competitor URLs — pricing page, changelog, blog, careers, homepage — summarizes each, compares the summary against what it saw last run, and emails you only the differences, ranked by how much each change threatens you.

No raw HTML parsing. No brittle selectors. Just structured summaries diffed against each other, and a short email that gets to the point.

Why not just scrape their site

Scrapers break the day a competitor redesigns their HTML. Selectors stop matching, the job silently returns nothing, and you stop trusting it within a month.

Instead, let Claude read the rendered page with web search turned on and produce a structured summary. You diff the summaries, not the raw HTML — so a full redesign doesn’t break you, and a subtle pricing change that wouldn’t change the HTML at all still gets caught.

Step 1 — List your targets

Pick 3–5 competitors. For each, collect the 5 URLs that actually signal change:

That’s 15–25 URLs total. Paste them into a plain text list — that’s all you need for the next step.

Step 2 — The watch prompt

Give Claude this prompt with your URL list pasted in. Run it with web search enabled so it reads the live pages, not cached versions.

You are my competitor radar. For each URL below, read the page and write a 2–3 sentence factual summary of its current state (pricing tiers and prices, latest changelog entries, newest blog posts, open roles, headline messaging). Output strict JSON: an array of {url, summary, signals[]}. Do not editorialize. URLs: [paste your list]

The output is a clean JSON array — one object per URL, a short summary, and a list of signals (e.g. ["new $49 tier", "SOC 2 badge added"]). Save this as radar_state.json. That’s your baseline.

Step 3 — Diff against last week (the important part)

This is where most setups go wrong. People run the watch prompt, read the summaries manually, and miss the change buried in paragraph three. The diff is what turns a 4,000-word page dump into a three-line Monday email.

On each subsequent run, load last week’s radar_state.json alongside the new output and send Claude this prompt:

Here is last week's radar JSON and this week's radar JSON. Return ONLY what changed: new pricing, new changelog entries, new posts, new roles, changed messaging. For each change, add a 'threat' rating of low / medium / high based on how directly it competes with us. Ignore everything that stayed the same. Then save this week's JSON as the new state file. Last week: [paste radar_state.json] This week: [paste new JSON output]

The diff strips out the noise. You’re not reading 25 summaries — you’re reading only what moved since the last run, with a threat rating already attached.

Step 4 — Put it on a schedule

Run it weekly. Monday morning is ideal — you get the update before the week starts rather than mid-sprint.

What good output looks like

One short email, once a week. For example:

Ranked, skimmable, done in 30 seconds. If nothing changed that week, the email says “no significant changes this week” and you move on. The value is in the weeks where something did move — and you knew before your customers told you.

“You don’t need to watch your competitors. You need to know the second they move.”

Found this useful? Follow along for new guides.

New breakdowns drop every week across TikTok, Instagram, and YouTube.

← All free guides