All documentation

Monitoring

The concepts and mechanics behind how RivalSweep watches a competitor's public pages.

Core concepts

Competitor

A company you track, identified by its domain. Each competitor holds its own set of monitored pages.

Monitored page

A specific URL RivalSweep checks on a schedule. Every monitored page has a page type so changes can be grouped meaningfully:

  • Pricing — plans, tiers, discounts.
  • Product — features and capabilities.
  • Integration — connectors and partner listings.
  • Positioning — homepage messaging, taglines, target audience.
  • Content — blog, changelog and other editorial pages.
  • Other — anything that doesn't fit the above.

Snapshot

A stored, normalized copy of a page's content at a point in time. Every crawl either confirms “nothing changed” or produces a new snapshot.

Very large pages

RivalSweep reads up to 5 MB of a page. That covers essentially everything, including long changelogs. If a page is bigger, we capture the first 5 MB rather than skipping the page, and the crawl record says the capture is partial.

On a partial capture we treat the cut-off end of the page as unknown, not as removed. If the page grows at the top, older entries slide past the 5 MB mark — that looks like a deletion but isn't one, so we deliberately do not report it as a change. You never get an alert about content that only disappeared from our view.

Diff and change event

When a new snapshot differs from the last one, RivalSweep stores a word-level diff — the exact before and after text — as a change event. The diff is kept as permanent evidence; it is never summarized away.

Categories & importance

Every change event is classified into a category — pricing, product, integration, positioning, content, or noise for cosmetic and navigational churn that isn't worth your attention — and an importance of low, medium or high. See The AI for how that classification happens.

Review status

Each change event starts as “Needs review.” You or a teammate can mark it reviewedor dismiss it from the change detail page. Marking a high-priority change reviewed triggers an immediate email alert (and a Slack or Teams message, if you've connected a webhook).

Evidence vs. interpretation

The stored diff — the exact before and after — is the only fact. The category, importance and any AI note about likely impact are interpretation, always labeled as such. If you only trust one thing, trust the diff.

What gets crawled, and how often

Crawl frequency is set by your plan:

  • Starter — daily.
  • Team — every 6 hours.
  • Scale — hourly.

You don't have to wait for the schedule: any approved page has a Crawl now button that fetches it on demand.

Public pages only

RivalSweep only monitors pages that are publicly reachable, exactly as a normal visitor would see them. That boundary is absolute:

  • We respect robots.txt and each site's rate limits and blocklists.
  • We never authenticate as someone else, solve CAPTCHAs, or rotate proxies to get around access controls.
  • If a page requires a login to view, we don't crawl it.
  • Every crawl URL is validated against server-side request forgery before we fetch it, including redirect targets.

Newsletter monitoring

A competitor's marketing emails are evidence too — often the first place a price change or a launch is announced. RivalSweep can turn them into change events alongside the pages you monitor, and it stays inside the same boundary: the competitor sent that email to anyone who subscribed, and nothing is read behind a login.

Setting it up

  1. Open Settings → Newsletter monitoring and copy your forwarding address.
  2. Go to the competitor's own website, find their public newsletter or blog signup form, and subscribe that address.
  3. Most newsletters confirm first. That confirmation email arrives in your changes timeline as an event — open it and follow the link inside to complete the subscription.
  4. From then on, every newsletter they send becomes a change event: classified, given a category and importance, and included in your weekly briefing like any page change.

How senders are matched

An email becomes an event when the address it came from matches a competitor you track. The match is the sending domain exactly, or any subdomain of it — so a newsletter from news.example.com matches a competitor whose site is example.com with nothing to configure. A lookalike domain never matches.

Some companies send through a marketing platform on a completely unrelated domain. When that happens the match fails, and you add that sending domain in the Newsletter sender domainsfield on the competitor's page. For most competitors you never need to touch it — check the “from” address of an email they sent you if you are unsure.

One subscription, one competitor

Each newsletter you subscribe feeds the competitor it belongs to. Only competitors that are active produce events — a paused or archived competitor is skipped, exactly as it is for crawling.

Rendering modes: HTTP vs. Browser

Most pages are fetched with a plain HTTP request — fast, and enough for pages that render their content directly in the HTML. Some pages build their content with client-side JavaScript, so RivalSweep also offers a Browser rendering mode per page: it loads the page in a real browser before capturing it, which is slower but also captures a screenshot alongside the text. You can switch a page between HTTP and Browser mode at any time from the competitor detail page.

Pause, archive and delete

These act at two levels — a single page, or an entire competitor — and the difference matters:

  • Pause a page — stops crawling it, but keeps its history. Resume any time to pick monitoring back up.
  • Archive a competitor — stops crawling all of its pages and frees up a slot on your plan, but its snapshots and change history are kept.
  • Delete a competitor — permanently removes it and its data. This can't be undone, which is why it requires typing the competitor's name to confirm. If you might want the history later, archive instead.

Discovered candidate pages you don't want can be dismissed individually or cleared all at once; dismissed candidates won't resurface the next time discovery runs.