Skip to main content
Back to PageChange

Documentation

How to use PageChange

Everything you need to set up monitors, configure alerts, and track changes on any public web page.

🚀

Getting Started

Set up your first monitor in under 2 minutes.

Create your free accountStep 1

Click "Get Started" on the homepage and sign in with your email or social account. No credit card required — the free plan includes 3 monitors and 5,000 checks per month.

Add your first monitorStep 2

Click "+ New monitor" in the dashboard. Paste any public URL you want to track. PageChange fetches the page and stores a baseline snapshot automatically.

Choose what to monitorStep 3

Monitor the full page or target a specific section using a CSS selector. Use the visual selector picker to click on the element you want — PageChange generates the selector for you.

Set your check frequencyStep 4

Choose how often to check for changes: every 15 minutes up to once every 24 hours. More frequent checks use more of your monthly quota.

Configure alertsStep 5

Open "Alert settings" in the top bar to connect Email, Slack, Discord, Telegram, webhooks, or RSS. Changes are delivered instantly to all active channels.

📡

Monitors

How monitoring works and what you can configure.

Full-page monitoring

Tracks the entire visible text content of a page. Useful for detecting any change — new sections, removed content, text edits, or restructured layouts.

CSS selector monitoring

Targets a specific element like a price, stock status, or heading. Use the visual picker to click it, or type a selector manually (e.g., .product-price, #stock-status, h1). Only changes within that element trigger alerts.

Desktop and mobile modes

Choose whether to fetch the page with a desktop or mobile User-Agent. Some sites serve different content or layouts depending on the device — pick the one that matches what you want to monitor.

Manual checks

Click "Check now" on any monitor to trigger an immediate check outside the regular schedule. Results appear instantly in the dashboard. Manual checks count toward your monthly quota.

Pause and resume

Pause a monitor to temporarily stop scheduled checks without deleting it or its history. Resume at any time to continue where you left off.

🔔

Alert Channels

Step-by-step setup for every notification channel.

EmailDefault

Enabled automatically. Alerts go to your account email address. You can add additional recipient addresses in the alert settings form.

Slack

In Slack: open your channel → click the channel name → Integrations → Add an app → search "Incoming WebHooks" → Add to Slack → choose a channel → copy the Webhook URL. Paste it in the Slack destination field in PageChange. The URL starts with https://hooks.slack.com/services/...

Discord

In Discord: right-click a channel → Edit Channel → Integrations → Webhooks → New Webhook → Copy Webhook URL. Paste it in the Discord destination field. The URL starts with https://discord.com/api/webhooks/...

Telegram

Message @BotFather on Telegram → send /newbot → follow the prompts → copy the bot token. Add the bot to your group or channel and send a message. Then visit https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates to find your chat ID (a number like -1001234567890). Enter the chat ID and bot token in PageChange.

Webhooks

Add any HTTPS endpoint URL. PageChange sends a JSON POST request with the monitor name, change summary, diff details, and source URL. Optionally add a signing secret to verify that requests come from PageChange.

RSS

Enable the RSS channel to generate a private, token-authenticated feed URL. Add it to any reader — Feedly, Inoreader, NetNewsWire, or any other RSS client. Changes appear as feed items with links back to the dashboard.

In-app feedAlways on

Change notifications appear in the dashboard activity feed automatically. Click any notification to jump directly to the diff viewer for that change.

💳

Plans & Billing

Pricing, quotas, upgrades, and cancellation.

Free planNo card needed

3 monitors, 5,000 checks per month, and all alert channels included. Perfect for personal use or evaluating the service before committing to a paid plan.

Upgrading

Click any paid plan on the pricing page to start a Stripe checkout. Your plan activates instantly — monitor limits and check quotas increase immediately.

Managing your subscription

Open the account menu in the top-right corner of the dashboard → click "Billing" to open the Stripe billing portal. From there you can update your payment method, switch plans, download invoices, or cancel.

When checks run out

When your monthly check quota is exhausted, scheduled and manual checks pause automatically until the next billing period. Your monitors and all historical data are preserved. An upgrade banner appears in the dashboard with a link to the pricing page.

Cancellation

Cancel anytime from the Stripe billing portal. Your paid features remain active until the end of the current billing period, then your account reverts to the free plan. Monitor data is kept.

🔌

REST API

Programmatic access to monitors, changes, and account data.

Authentication

Generate an API key in the dashboard (click the "API" button in the top bar). Include it in every request as: Authorization: Bearer pc_your_api_key. Keys can be read-only or full-access.

Base URLv1

All endpoints are under https://page-change.com/api/v1. Responses are JSON. Errors return { "error": "message" } with the appropriate HTTP status code.

GET /monitors

List all your monitors. Returns an array of monitor objects with id, name, url, status, frequency, scope, tags, and timestamps.

POST /monitorsFull access

Create a monitor. Required: { "url": "https://example.com" }. Optional: name, cssSelector, frequency (ms, default 900000 = 15min), deviceMode ("desktop" or "mobile"), visibility, tags.

GET /monitors/:id

Get full details for a single monitor, including configuration, last check time, and error status.

PATCH /monitors/:idFull access

Update a monitor. Send only the fields you want to change: { "name": "New name", "frequency": 3600000, "status": "paused" }.

DELETE /monitors/:idFull access

Delete a monitor and all its snapshots, changes, and notification records. This action is irreversible.

POST /monitors/:id/checkFull access

Trigger an immediate check for a monitor. Returns the check result including whether content changed. Counts toward your monthly check quota.

GET /monitors/:id/changes

List detected changes for a monitor, most recent first. Each change includes changeType, changePercent, diffSummary, and detectedAt. Optional query: ?limit=20 (default 50, max 100).

GET /monitors/:id/snapshots

List snapshots (check history) for a monitor. Each snapshot includes contentHash, statusCode, responseTime, and fetchedAt. Optional query: ?limit=20.

GET /account

Get your current plan, usage, and limits. Returns plan name, access state, monitor count, checks used this month, and quota limits.

FAQ

Answers to common questions.

What kind of pages can I monitor?

Any public HTML page that can be accessed without a login. PageChange fetches the page from the server side. JavaScript-heavy single-page apps that require a full browser to render their content may not work reliably.

How does change detection work?

PageChange fetches the page at your configured interval, extracts the visible text (or the content matching your CSS selector), and compares it to the previous snapshot. A line-by-line diff is generated. If there are meaningful differences, you get an alert with a summary of what changed.

Will the monitored site block me?

PageChange uses realistic browser headers to minimize blocking. Most public pages work without issues. Sites with aggressive bot protection (Cloudflare challenges, CAPTCHAs, login walls) may block automated requests. Targeting a specific element with a CSS selector can help.

Is my data secure?

Authentication is handled by Auth0, payments by Stripe. Notification secrets like webhook URLs and Telegram bot tokens are encrypted with AES-256-GCM before storage. We never store your payment card details — Stripe handles that entirely.

Can I export my data?

You can export your monitor list as a CSV file from the dashboard. For a complete data export including snapshots and change history, contact [email protected].

Still have questions?

We usually respond within one business day. Reach out and we'll help you get set up.

Contact support