seed ▸ competitor watch opened 0

See every competitor move first.

Watch rivals' prices, pages, and catalogs. The instant one changes, Writ alerts you - and hands your systems the diff.

Writ runs on your own accounts, with your own credentials and data, on sites you are authorized to use.
Pricing page - visual diff◍ scan
Was · $99/mo - Pro
Now · $79/mo - Pro · detected 6s ago

Screenshot-region baselines flag visual changes a text extraction would miss.

selector or visual baseline every change is a REST payload fires an Automation trigger
obs ▸ intel goes stale 1
01
The problem

Competitive intel goes stale by Friday.

Competitive intelligence is usually a someone-checks-it-on-Friday process. By the time you notice a price cut, a new feature page, or a hiring spree, the signal is days old - and it lives in one person's head, not your stack.

  • Manual checks don't scale across every competitor page.
  • Changes hide in dynamic pages a daily data pull misses.
  • The intel lives in someone's head, not your systems.
act ▸ baseline · detect · route 3
02
How Writ works

Baseline it, detect the change, route the signal.

Baseline anything Selector, visual-zone, or screenshot-region baselines catch text, layout, and image changes - even behind a login.
Detect fast Checks as often as every 10 seconds on Scale; the change itself is the trigger - no polling on your side.
Route the signal Notify Slack, email, or a webhook, log it to the Data explorer, or fire a workflow that captures the new value.
scope ▸ pages that signal 6
03
What teams track

Watch any page that signals a move.

If a page tells you what a rival is about to do, put a Monitor on it. Writ baselines the region you care about and only fires when it actually changes.

Pricing pagesPlan & feature pagesChangelogsStatus pagesCareers & hiringProduct launchesLanding-page copyApp-store listings
spd ▸ cadence ladder 10
04
Honest cadence

How fast you find out depends on your plan.

Faster checks are a paid capability, and dynamic JS-rendered pages run slower than static HTML. Here is the real ladder - no asterisks.

Plan Static / HTML Dynamic (JS)
Free every 5 min every 15 min
Starter every 60s every 10 min
Pro every 60s every 10 min
Growth every 30s every 5 min
Scale every 10s every 2 min
Enterprise as fast as 10s custom

Detection latency is the check interval - a change surfaces on the next check, then fans out in seconds.

api ▸ diff called 24
05
The change is the payload

Every diff is a REST endpoint.

A detected change isn't just an alert - it's structured data your stack can pull. Read the latest change over REST, or let it trigger an Automation.

# Monitor: competitor pricing page, screenshot-region baseline
# On change → readable over REST and fires an Automation trigger

GET https://api.usewrit.app/v1/competitor-watch/latest
Authorization: Bearer wt_…
→ {
  "url": "https://rival.example/pricing",
  "region": "plan-card",
  "changed_at": "2026-07-02T08:14:03Z",
  "summary": "Pro plan price changed 99 → 79"
}

Read it over REST, wire it into an Automation, or expose the workflow as an MCP tool.

fire ▸ signal → system 42
06
From signal to system

Every change becomes an action.

Fan it out to your channels, store it in the Data explorer, or run a follow-up workflow - for example, extract the new price and write it to your pricing sheet.

01 Change detected Every detected change is an Automation trigger - no glue code.
02 Fan out Notify Slack, email, or a webhook and store it in the Data explorer.
03 Follow-up workflow Extract the new price and write it to your pricing sheet.

Wire the trigger in Automations.

Or sweep the whole set every morning.

Real-time detection is one mode; a scheduled sweep is the other. Put your competitor Monitors on a recurring interval - every few minutes, hourly, or once a day - and a single morning run collects a fresh snapshot of every tracked page and delivers a daily competitive report to your team. No one has to remember to check. Recurring runs are interval-based, from minutes to daily - set the cadence in Automations.

Every few minutes Catch fast moves on the pages that matter most.
Hourly A steady sweep across your whole competitor set.
Daily - every morning A scheduled run plus a daily competitive report.
faq ▸ answered 60
07
FAQ

Competitor monitoring questions.

Do I need access to the competitor site?

Writ runs on your own accounts, with your own credentials and data, on sites you are authorized to use. You watch pages you are authorized to view.

Text or visual changes?

Both - selector and text baselines catch content changes; screenshot-region baselines catch visual and layout changes a text extraction would miss.

How fast will I find out?

It depends on your plan and whether the page is static or JS-rendered - from every 5 minutes on Free down to every 10 seconds on Scale and Enterprise. Once a change is detected, notifications fan out in seconds.

How is this different from price monitoring?

Price monitoring is one slice; here you baseline any page region - pricing, features, changelog, careers - and fire on any change.

go ▸ watch started

Never be the last to know.

Set Monitors on the competitor pages that matter and get alerted the moment they change.