# Site Spy > Documentation for Site Spy — monitor website changes with ease ## Docs - [Generate a new API key](https://docs.sitespy.app/api-reference/api-key-management/generate-a-new-api-key.md): Generate a new unique API key for accessing the API. This endpoint does not require authentication. Each API key is associated with a unique user account. - [Change password for authenticated user](https://docs.sitespy.app/api-reference/authentication/change-password-for-authenticated-user.md): Change the password for the currently authenticated user. Requires the current password for verification. - [Create an ALTCHA signup challenge](https://docs.sitespy.app/api-reference/authentication/create-an-altcha-signup-challenge.md): Create a signed proof-of-work challenge for the signup form. The solved payload must be submitted as the `altcha` field when registering. - [Get current user info](https://docs.sitespy.app/api-reference/authentication/get-current-user-info.md): Retrieve information about the currently authenticated user. Requires a valid API key in the x-api-key header. - [Login or register via social/OAuth provider](https://docs.sitespy.app/api-reference/authentication/login-or-register-via-socialoauth-provider.md): Authenticate a user via a social login provider (e.g., Google). If the user already exists, returns their API key. If the user doesn't exist, auto-creates an account and returns the new API key. This endpoint is intended to be called server-side from the NextAuth callback. - [Login to existing account](https://docs.sitespy.app/api-reference/authentication/login-to-existing-account.md): Authenticate with email and password to retrieve your API key. Use this API key for all subsequent authenticated requests. - [Permanently delete user account](https://docs.sitespy.app/api-reference/authentication/permanently-delete-user-account.md): Permanently deletes the authenticated user's account and all associated data, including all watches, settings, notification configurations, and password reset tokens. This action cannot be undone. - [Regenerate API key for authenticated user](https://docs.sitespy.app/api-reference/authentication/regenerate-api-key-for-authenticated-user.md): Regenerate the API key for the currently authenticated user. The old key is invalidated and all watches are migrated to the new key. Only works for API keys linked to a user account. - [Register a new user account](https://docs.sitespy.app/api-reference/authentication/register-a-new-user-account.md): Create a new user account with email and password. An API key is automatically generated and linked to the account. This API key can be used for all subsequent authenticated requests. Signup requires a solved ALTCHA proof-of-work payload from `/auth/altcha-challenge`. - [Request a password reset](https://docs.sitespy.app/api-reference/authentication/request-a-password-reset.md): Request a password reset token for the given email address. Always returns success to avoid leaking whether an email is registered. - [Resend account verification email](https://docs.sitespy.app/api-reference/authentication/resend-account-verification-email.md): Resend the account verification email. Requires authentication. Rate limited to one request per 60 seconds. - [Reset password with token](https://docs.sitespy.app/api-reference/authentication/reset-password-with-token.md): Reset the user's password using a valid reset token obtained from the forgot-password endpoint. Tokens expire after 1 hour. - [Verify account email](https://docs.sitespy.app/api-reference/authentication/verify-account-email.md): Verify a user's account email using the token sent via email. Returns an HTML page with the verification result. - [Create a Lemon Squeezy checkout session](https://docs.sitespy.app/api-reference/billing/create-a-lemon-squeezy-checkout-session.md): Creates a hosted checkout URL for upgrading to a paid plan. - [Get billing subscription status](https://docs.sitespy.app/api-reference/billing/get-billing-subscription-status.md): Returns the current subscription status and metadata. - [Get customer billing portal URL](https://docs.sitespy.app/api-reference/billing/get-customer-billing-portal-url.md): Returns the Lemon Squeezy customer portal URL for managing the subscription. - [Lemon Squeezy webhook receiver](https://docs.sitespy.app/api-reference/billing/lemon-squeezy-webhook-receiver.md): Receives subscription lifecycle events from Lemon Squeezy. Called by Lemon Squeezy, not clients. - [Enable email notifications (no auth)](https://docs.sitespy.app/api-reference/email-verification/enable-email-notifications-no-auth.md): Single-click enable using a token. Returns an HTML confirmation page. - [Get email verification status](https://docs.sitespy.app/api-reference/email-verification/get-email-verification-status.md): Get the current email address and verification status for your API key. - [Resend verification email](https://docs.sitespy.app/api-reference/email-verification/resend-verification-email.md): Resend the verification email for the email address associated with your API key. - [Set, update, or disable email address](https://docs.sitespy.app/api-reference/email-verification/set-update-or-disable-email-address.md): Set or update the email address for your API key. A verification email will be sent to the provided address. The email must be verified before notifications can be sent. - [Unsubscribe from email notifications (no auth)](https://docs.sitespy.app/api-reference/email-verification/unsubscribe-from-email-notifications-no-auth.md): Single-click unsubscribe using a token. Returns an HTML confirmation page. - [Verify email address](https://docs.sitespy.app/api-reference/email-verification/verify-email-address.md): Verify an email address using the token from the verification email. This endpoint does not require authentication as the token serves as proof. - [Get watch favicon](https://docs.sitespy.app/api-reference/favicon/get-watch-favicon.md): Get the favicon for a web page change monitor (watch) as displayed in the watch overview list. - [Get feature flags](https://docs.sitespy.app/api-reference/feature-flags/get-feature-flags.md): Retrieve the feature flags for the current API key. Feature flags control which features are enabled or disabled for specific users. - [Submit the PMF (Sean Ellis) survey](https://docs.sitespy.app/api-reference/feedback/submit-the-pmf-sean-ellis-survey.md): Records a one-time Product-Market-Fit survey response for the authenticated user. Returns 409 if the user has already submitted. - [Import watch URLs with configuration](https://docs.sitespy.app/api-reference/import/import-watch-urls-with-configuration.md): Import a list of URLs to monitor with optional watch configuration. Accepts line-separated URLs in request body. - [Site Spy API](https://docs.sitespy.app/api-reference/introduction.md): Automate watch management, retrieve change history, and integrate Site Spy into your own tools with the REST API. - [Add notification URLs](https://docs.sitespy.app/api-reference/notifications/add-notification-urls.md): Add one or more notification URLs to the configuration - [Delete notification URLs](https://docs.sitespy.app/api-reference/notifications/delete-notification-urls.md): Delete one or more notification URLs from the configuration - [Get notification URLs](https://docs.sitespy.app/api-reference/notifications/get-notification-urls.md): Return the notification URL list from the configuration - [Replace notification URLs](https://docs.sitespy.app/api-reference/notifications/replace-notification-urls.md): Replace all notification URLs with the provided list (can be empty) - [Send a test notification](https://docs.sitespy.app/api-reference/notifications/send-a-test-notification.md): Send a test notification to verify webhook URL(s) are configured correctly. Available on all plans. - [Get current plan and usage](https://docs.sitespy.app/api-reference/plan/get-current-plan-and-usage.md): Returns the subscription plan, limits, and watch usage for the authenticated API key. - [Generate RSS feed token](https://docs.sitespy.app/api-reference/rss-feeds/generate-rss-feed-token.md): Generate (or regenerate) a personal RSS feed token. This token is used in RSS feed URLs to authenticate access. Only watches owned by this user will appear in the feeds. - [Get RSS feed settings](https://docs.sitespy.app/api-reference/rss-feeds/get-rss-feed-settings.md): Get the current user's RSS feed token and status. Use the returned token to construct RSS feed URLs for use in any RSS reader. - [Revoke RSS feed token](https://docs.sitespy.app/api-reference/rss-feeds/revoke-rss-feed-token.md): Revoke the RSS feed token, disabling all RSS feed access for this user. - [Get screenshot history timestamps](https://docs.sitespy.app/api-reference/screenshots/get-screenshot-history-timestamps.md): Returns the list of screenshot timestamps available for a watch with screenshot monitoring enabled. - [Search watches](https://docs.sitespy.app/api-reference/search/search-watches.md): Search web page change monitors (watches) by URL or title text - [Get single snapshot](https://docs.sitespy.app/api-reference/snapshots/get-single-snapshot.md): Get single snapshot from web page change monitor (watch). Use 'latest' for the most recent snapshot. Use the Watch History API to get a list of timestamps to pass. - [Get system information](https://docs.sitespy.app/api-reference/system-information/get-system-information.md): Return information about the current system state - [Create tag](https://docs.sitespy.app/api-reference/tag-management/create-tag.md): Create a single tag/group - [Delete tag](https://docs.sitespy.app/api-reference/tag-management/delete-tag.md): Delete a tag/group and remove it from all web page change monitors (watches) - [Get single tag](https://docs.sitespy.app/api-reference/tag-management/get-single-tag.md): Retrieve tag information, set notification_muted status, recheck all web page change monitors (watches) in tag. - [List all tags](https://docs.sitespy.app/api-reference/tag-management/list-all-tags.md): Return list of available tags/groups - [Update tag](https://docs.sitespy.app/api-reference/tag-management/update-tag.md): Update an existing tag using JSON - [Generate Telegram connect link](https://docs.sitespy.app/api-reference/telegram-notifications/generate-telegram-connect-link.md): Generate a deep-link URL for connecting your Telegram account. Open the returned link in Telegram and tap Start to complete the connection. - [Get Telegram connection status](https://docs.sitespy.app/api-reference/telegram-notifications/get-telegram-connection-status.md): Get the current Telegram connection status for your API key, including any pending link. - [Remove Telegram notifications](https://docs.sitespy.app/api-reference/telegram-notifications/remove-telegram-notifications.md): Disconnect Telegram and stop receiving notifications. - [Send a test Telegram message](https://docs.sitespy.app/api-reference/telegram-notifications/send-a-test-telegram-message.md): Send a test notification to verify Telegram is configured correctly. - [Telegram webhook endpoint](https://docs.sitespy.app/api-reference/telegram-notifications/telegram-webhook-endpoint.md): Receives updates from the Telegram Bot API. This endpoint is called by Telegram when users interact with the bot (e.g. /start command). Not intended for direct use. - [Get user-specific settings](https://docs.sitespy.app/api-reference/user-settings/get-user-specific-settings.md): Retrieve the authenticated user's custom settings, including recheck interval preferences and email notification settings. - [Send a test email notification](https://docs.sitespy.app/api-reference/user-settings/send-a-test-email-notification.md): Send a test email to verify email notification settings are configured correctly. - [Update user-specific settings](https://docs.sitespy.app/api-reference/user-settings/update-user-specific-settings.md): Update the authenticated user's custom settings, such as default recheck interval for new watches, email notification preferences, and global ignore patterns. - [Get a screenshot for a watch at a specific timestamp](https://docs.sitespy.app/api-reference/visual-diff/get-a-screenshot-for-a-watch-at-a-specific-timestamp.md): Returns the screenshot image (PNG/JPEG) for a watch that uses the `image_ssim_diff` processor. Requires Pro plan. - [Get rendered diff overlay image](https://docs.sitespy.app/api-reference/visual-diff/get-rendered-diff-overlay-image.md): Returns a rendered diff image (JPEG) showing changed areas highlighted in red. Compares two screenshot snapshots using OpenCV. Requires Pro plan. - [Get visual diff metadata](https://docs.sitespy.app/api-reference/visual-diff/get-visual-diff-metadata.md): Returns metadata about the visual diff comparison including change percentage, threshold setting, and available versions. Requires Pro plan. - [Get the difference between two snapshots](https://docs.sitespy.app/api-reference/watch-history/get-the-difference-between-two-snapshots.md): Generate a difference (comparison) between two historical snapshots of a web page change monitor (watch). - [Get watch history](https://docs.sitespy.app/api-reference/watch-history/get-watch-history.md): Get a list of all historical snapshots available for a web page change monitor (watch), use the key `timestamp` as the query argument for fetching a single watch history snapshot. - [Create a new watch](https://docs.sitespy.app/api-reference/watch-management/create-a-new-watch.md): Create a single web page change monitor (watch). Requires at least `url` to be set. - [Delete watch](https://docs.sitespy.app/api-reference/watch-management/delete-watch.md): Delete a web page change monitor (watch) and all related history - [Get single watch](https://docs.sitespy.app/api-reference/watch-management/get-single-watch.md): Retrieve web page change monitor (watch) information and set muted/paused status. Returns the FULL Watch JSON. - [List all watches](https://docs.sitespy.app/api-reference/watch-management/list-all-watches.md): Return concise list of available web page change monitors (watches) and basic info - [Update watch](https://docs.sitespy.app/api-reference/watch-management/update-watch.md): Update an existing web page change monitor (watch) using JSON. Accepts the same structure as returned in [get single watch information](#operation/getWatch). - [Get the public VAPID key](https://docs.sitespy.app/api-reference/web-push-notifications/get-the-public-vapid-key.md): Returns the server's public VAPID key needed to subscribe to push notifications. - [Get web push subscription status](https://docs.sitespy.app/api-reference/web-push-notifications/get-web-push-subscription-status.md): Check whether the current API key has any active push subscriptions. - [Remove push subscription(s)](https://docs.sitespy.app/api-reference/web-push-notifications/remove-push-subscriptions.md): Remove a specific push subscription by endpoint, or remove all subscriptions if no endpoint is provided. - [Save a push subscription](https://docs.sitespy.app/api-reference/web-push-notifications/save-a-push-subscription.md): Store a browser push subscription for the current API key. - [Send a test push notification](https://docs.sitespy.app/api-reference/web-push-notifications/send-a-test-push-notification.md): Send a test push notification to all subscribed browsers. - [Acknowledgements](https://docs.sitespy.app/docs/acknowledgements.md): Open source projects that Site Spy is built on - [AI Chat](https://docs.sitespy.app/docs/dashboard/ai-chat.md): Manage watches and check changes through natural language - [AI Features](https://docs.sitespy.app/docs/dashboard/ai-features.md): AI-powered change summaries, smart filters, and chat assistant - [Plans and Billing](https://docs.sitespy.app/docs/dashboard/billing.md): Site Spy pricing plans, features, and account management - [Browser Steps](https://docs.sitespy.app/docs/dashboard/browser-steps.md): Monitor pages that require login or user interactions - [CSS & XPath Filters](https://docs.sitespy.app/docs/dashboard/css-xpath-filters.md): Monitor specific page sections using CSS selectors and XPath expressions - [Email Notifications](https://docs.sitespy.app/docs/dashboard/email-notifications.md): Set up email alerts for website changes - [Import & Export](https://docs.sitespy.app/docs/dashboard/import-export.md): Bulk import URLs and export your watches - [MCP Integration](https://docs.sitespy.app/docs/dashboard/mcp-integration.md): Connect Site Spy to AI assistants like Claude, Cursor, and other MCP-compatible tools - [Browser Push Notifications](https://docs.sitespy.app/docs/dashboard/push-notifications.md): Receive instant browser notifications when watched pages change - [RSS Feeds](https://docs.sitespy.app/docs/dashboard/rss.md): Follow website changes in any RSS reader - [Screenshot Capture](https://docs.sitespy.app/docs/dashboard/screenshots.md): Capture full-page screenshots alongside text monitoring - [Dashboard Settings](https://docs.sitespy.app/docs/dashboard/settings.md): Configure your Site Spy dashboard preferences - [Share Links](https://docs.sitespy.app/docs/dashboard/share-links.md): Share watch configurations with others via a link - [Smart Filters](https://docs.sitespy.app/docs/dashboard/smart-filters.md): AI-powered noise reduction for new watches - [Team Management](https://docs.sitespy.app/docs/dashboard/team-management.md): Invite team members to share watches and collaborate - [Telegram Notifications](https://docs.sitespy.app/docs/dashboard/telegram.md): Receive change alerts via Telegram - [Watch Settings](https://docs.sitespy.app/docs/dashboard/watch-settings.md): Configure individual watch options - [Managing Watches](https://docs.sitespy.app/docs/dashboard/watches.md): View, recheck, and manage your watches from the web dashboard - [Webhook Notifications](https://docs.sitespy.app/docs/dashboard/webhooks.md): Send change alerts to Discord, Slack, and 90+ services - [Notifications](https://docs.sitespy.app/docs/extension/notifications.md): Get notified when your watched pages change - [Extension Settings](https://docs.sitespy.app/docs/extension/settings.md): Configure the extension to your preferences - [Timeline and Diff](https://docs.sitespy.app/docs/extension/timeline-and-diff.md): View change history and compare snapshots - [Watching Pages](https://docs.sitespy.app/docs/extension/watching-pages.md): Add websites to your watchlist and monitor specific elements - [FAQ](https://docs.sitespy.app/docs/faq.md): Frequently asked questions about Site Spy - [Connecting to the Dashboard](https://docs.sitespy.app/docs/getting-started/connecting.md): Sign in to the Site Spy dashboard and connect your devices - [Installation](https://docs.sitespy.app/docs/getting-started/installation.md): Install the Site Spy browser extension (optional) - [Welcome to Site Spy](https://docs.sitespy.app/docs/index.md): Monitor website changes with ease - [AI-Readable Documentation](https://docs.sitespy.app/llms.md): Access Site Spy documentation in formats optimized for AI assistants and coding agents ## OpenAPI Specs - [openapi](https://docs.sitespy.app/api-reference/openapi.yaml)