Universal AI Page Monitor
Pricing
Pay per event
Universal AI Page Monitor
Monitor any URL for changes — Amazon products, LinkedIn profiles, job boards, pricing pages, Hacker News, GitHub. AI generates CSS selectors + regex filters in plain English. Works in any language. No API key needed. MCP-ready for Claude, Cursor, Codex, Gemini, Cline.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Vitaly Kuprin
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
5 days ago
Last modified
Categories
Share
Monitor Amazon products, LinkedIn profiles, job boards, pricing pages, Hacker News, GitHub releases, Shopify stores, or any URL for changes. Plain-English intent in → CSS selectors + regex filters out. Ready to plug into any change-detection system or call as a tool from any MCP client.
- ✅ No OpenAI/Anthropic API key needed. AI cost is included in the per-call event price.
- ✅ Works on any URL in any language (English, Russian, Spanish, Chinese, Arabic, etc.).
- ✅ MCP-ready for Claude Desktop, Cursor, Codex, Gemini Code Assist, Cline, Continue, and every MCP-compatible client.
- ✅ Typical run cost: ~$0.13 (init + page fetch + 1 AI call + result). 100 pages/month ≈ $13.
What it does
Given a URL, the Actor:
- Fetches the page (Playwright by default; HTTP for static pages).
- Extracts main content with Defuddle — picks the right
contentSelectorfor monitoring. - Detects schema.org page type (Product, Article, JobPosting, …) from JSON-LD.
- Strips ads & cookie banners via EasyList + Fanboy's Cookie List (pre-baked at build time).
- Generates noise filters (regex
ignore_text+ CSSsubtractive_selectors) for ephemeral content like timestamps and counters. - Generates trigger patterns when you provide a plain-English
intent— e.g. "notify when sold out" → regex that fires only on real change.
Multilingual by design — the prompts include explicit examples in Russian, Spanish, Chinese, and Arabic. When the page is in a non-English language, the engine emits ignore_text regex patterns in that language verbatim (e.g. /найдено\s+[\d\s]+\s*вакансии/i for a Russian SERP).
Inputs
| Field | Type | Required | Description |
|---|---|---|---|
url | string | yes | Any HTTP(S) URL |
intent | string | no | Plain-English description of the change you want detected |
fetchMode | http | playwright | no (default playwright) | http is cheap and fast for static pages; playwright renders JS-heavy SPAs |
screenshot | bool | no (default false) | Save full-page PNG to KV store (Playwright mode only) |
useEasyList | bool | no (default true) | Apply EasyList + Fanboy's Cookie List |
userAgent | string | no | Override the User-Agent for the page fetch |
No API keys to paste. AI cost is included in the ai-call event price below.
Output
One row per analyzed URL, written to the run's default dataset:
{"url": "https://news.ycombinator.com","fetchedAt": "2026-05-09T13:30:00.000Z","fetchMode": "playwright","pageType": "website","contentSelector": "#hnmain","includeFilters": ["#hnmain"],"subtractiveSelectors": [".pagetop", "td.title:has(.titleline)"],"triggerText": ["/(?:show hn|ask hn):/i"],"ignoreText": ["/\\d+\\s*points?/i", "/posted\\s+\\d+/i"],"explanation": "Configured content selector and noise filters for a list page.","warning": null,"screenshotKey": null,"aiTokens": { "input": 920, "output": 180 },}
The output schema matches SmartFilterResult exactly — feed it directly into any change-detection backend that accepts CSS include/subtract filters, regex ignore_text, and regex trigger_text.
Pricing
Pay-per-event. Charges are configured in the Apify Console:
init— once per runpage-fetched— once per successfully fetched pageai-call— once per LLM call (only whenintentis set; AI cost is included)screenshot— once ifscreenshot: trueresult-pushed— once per dataset row
A typical run with intent set, Playwright fetch, no screenshot: 1× init + 1× page-fetched + 1× ai-call + 1× result-pushed. No external accounts or API keys required — the AI cost is rolled into the ai-call event price.
MCP usage (works with every MCP client)
Apify exposes Store Actors as MCP tools natively via the Apify MCP server. The same configuration works in every MCP-compatible client:
- Claude Desktop —
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) /%APPDATA%\Claude\claude_desktop_config.json(Windows) - Cursor —
~/.cursor/mcp.json - OpenAI Codex (the desktop client and the API's tools surface)
- Google Gemini Code Assist (when MCP is enabled)
- Cline (VS Code extension) —
cline_mcp_settings.json - Continue.dev —
~/.continue/config.json - OpenClaw and other community MCP clients
- Custom MCP clients built with the official MCP SDK (Python, TypeScript, Go)
Add this block to your client's MCP config:
{"mcpServers": {"apify": {"command": "npx","args": ["-y", "@apify/actors-mcp-server"],"env": { "APIFY_TOKEN": "<your-apify-token>" }}}}
Then ask your agent something like:
"Monitor https://news.ycombinator.com and tell me which CSS selectors and regex patterns I should use to detect when a new top story appears."
The agent calls this Actor with url + intent, gets the returned filters, and uses them to wire up monitoring elsewhere — no manual API key handling, no platform-specific glue code.
Examples
// Track price drops on a product page (AI-driven trigger patterns){"url": "https://www.amazon.com/dp/B08N5WRWNW","intent": "Notify me when the price drops below $200","fetchMode": "playwright"}// Article changelog monitoring (no AI — noise filters only, lower cost){"url": "https://nextjs.org/docs/app/api-reference/components","fetchMode": "http","useEasyList": false}// Job board monitoring with screenshot{"url": "https://news.ycombinator.com/jobs","intent": "Track new senior backend engineering jobs in Berlin","screenshot": true}
Limits
- Single URL per run. For multi-URL workflows, run the Actor once per URL or use Apify's Task scheduler / Schedule integration.
- Defuddle returns title/markdown separately —
contentSelectormay benullfor unstructured pages where Defuddle falls back to Turndown. - LLM call uses
gpt-4.1-miniunder the hood (cheap, fast, deterministic-leaning). AI cost is included in theai-callevent price — no API key for you to manage. TheaiTokensfield in the output is for transparency only.
Source & methodology
Engine: @site-spy/smart-config-core — the same module used in production by the Site Spy change-detection service. Tested on 1,066 real production pages with 99.4% configure-success — works on sites that break generic scrapers (A/B-tested layouts, hashed CSS classes, JS-heavy SPAs, non-English content).
Source is bundled into the Actor image at publish time. Hybrid architecture: deterministic extractors (Defuddle, JSON-LD, EasyList, regex pattern library) do most of the work; the LLM (gpt-4.1-mini) is only invoked for noise + trigger generation when the user provides intent.