Vendor Pricing, Terms & Renewal Watch API
Pricing
Pay per usage
Vendor Pricing, Terms & Renewal Watch API
Monitor vendor pricing changes, terms-of-service updates, renewal language, privacy / DPA policy diffs, and procurement / vendor-risk alerts with one summary-first vendor digest per monitored vendor.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
太郎 山田
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Track vendor pricing pages, terms-of-service updates, renewal clauses, privacy / DPA policies, trust-center changes, and status pages with one summary-first vendor digest per monitored vendor.
Built for Procurement, RevOps, Legal Ops, vendor management, and competitor pricing workflows that want a concrete pricing change monitor, terms-of-service monitor, vendor renewal watch, pricing + policy diff, and vendor-risk alerts — not a pile of raw page diffs.
Pricing stays fixed: each monitored vendor still rolls up into one billing-safe vendor summary per vendor, with page-level evidence nested underneath.
Store Quickstart
What first success looks like:
- Start with
store-input.example.jsonorPricing + Terms Quickstart (baseline first, one summary per vendor)and monitor 2-3 vendors. - The first run seeds the baseline under a stable
snapshotKey. - Re-run the same
snapshotKey; if one vendor's pricing, terms, or policy surfaces changed, you get oneactionNeededvendor digest plus page-level pricing + policy diffs.
- Start with
store-input.example.jsonfor a reliable 2-vendor pricing + terms monitor. - If the output fits your workflow, switch to
store-input.templates.jsonand choose one of:Pricing + Terms Quickstart (baseline first, one summary per vendor)for the first baseline + recurring winVendor Renewal Watch (one summary per vendor)for pricing, billing, renewal notice, and SLA drift ahead of commercial eventsCompetitor Pricing Monitor (one summary per vendor)for price, packaging, roadmap, and availability signalsProcurement & Vendor Risk Alerts (one summary per vendor)for sourcing, trust-center, and escalation prepTerms + Policy Diff Review (one summary per vendor)for terms, privacy, DPA, and security reviewAction-Needed Vendor Digest Webhook (one summary per vendor)when Slack, CRM, ITSM, or ticketing workflows should receive only routed vendor digests
Pricing / value unit stays fixed: one monitored vendor summary per vendor on each run. You can watch multiple pricing, terms, policy, status, or changelog pages under the same vendor, but they still roll up into one vendor summary instead of separate page-event billing units.
Flagship buyer-facing lanes
| Lane | What changes matter | What the actor gives back |
|---|---|---|
| Pricing change monitor | list price, packaging, credits, annual billing, enterprise positioning | one vendor digest with pricing-diff evidence and recommended follow-up |
| Vendor renewal watch | renewal notice, billing terms, service credits, SLA language, incidents | vendor-level severity, renewal-focused recommended actions, recurring digest |
| Terms + policy diff review | terms-of-service, privacy, DPA, subprocessors, security commitments | one vendor digest for legal / procurement triage plus page-level evidence |
| Procurement & vendor-risk alerts | commercial terms, liability, trust center updates, controls, outages | action-needed vendor rows for escalations or sourcing prep |
| Competitor pricing monitor | pricing, launches, deprecations, availability posture | recurring summaries that help strategy teams track competitor moves without reading every page diff |
Monitored pricing / terms / policy surfaces
For each vendor, the actor monitors grouped URL packs such as:
- Pricing monitor: plans, packaging, credits, annual billing, usage terms, enterprise positioning
- Terms-of-service / renewal monitor: renewal language, auto-renew, termination, liability, service credits, invoice / payment terms
- Policy diff: privacy, retention, processing, transfers, cookies, subprocessors, regional data handling
- Trust / DPA monitor: controller / processor terms, incident commitments, compliance posture, controls, trust-center drift
- Vendor-risk watch: incidents, degradations, maintenance, deprecations, breaking changes, release notes, launch signals
Summary-first output
Instead of generic diff rows, the actor returns:
- vendor-level
severity - vendor
reason+executiveSummary recommendedActionswritten for commercial ownerschanges[]with structured page-change events nested under the vendor digestrecurringDigestfor scheduled portfolio reviewactionNeededrows for downstream routing and alerts
Why this is stronger than a generic diff utility
Generic page diff tools stop at “something changed.”
vendor-change-monitor adds the buyer-facing layer around the summary-first one-vendor-summary model:
- one vendor row instead of many unrelated page rows
- one severity for routing and prioritization
- one short reason for human review
- one recommended action set for RevOps / Procurement / Legal / Strategy
- one recurring digest payload for webhook or scheduled review
That makes it easier to operationalize in recurring cadences such as pricing reviews, renewal prep, terms + policy review, procurement risk review, and competitor pricing watch.
Input example
{"vendors": [{"id": "openai","name": "OpenAI","criticality": "high","owner": "Procurement","tags": ["ai", "renewal-q2", "usage-based"],"urlPacks": {"pricing": [{"id": "openai-pricing","url": "https://openai.com/api/pricing/","includePatterns": ["pricing", "tokens", "billing", "enterprise", "annual"]}],"terms": [{"id": "openai-business-terms","url": "https://openai.com/policies/business-terms/","includePatterns": ["payment", "renewal", "termination", "liability", "service credits"]}],"security": [{"id": "openai-security","url": "https://trust.openai.com/","includePatterns": ["security", "compliance", "controls", "incident"]}],"status": [{"id": "openai-status","url": "https://status.openai.com/","includePatterns": ["incident", "degraded", "maintenance", "operational"]}]}}],"delivery": "dataset","datasetMode": "action_needed","snapshotKey": "vendor-renewal-watch","diffMode": "line_summary","summaryMaxLines": 12,"concurrency": 2}
Output example
{"vendorId": "openai","vendorName": "OpenAI","owner": "Procurement","status": "changed","severity": "high","reason": "OpenAI showed material drift on pricing, terms-of-service, trust-center / security surfaces for a high vendor.","recommendedActions": ["Compare the pricing or packaging diff against renewal assumptions, budget, forecast / CPQ models, and competitor benchmarks.","Review terms-of-service, renewal, billing, liability, or termination language with Procurement before the next commercial decision."],"vendorSummary": {"changedPacks": ["pricing", "terms"],"actionNeeded": true}}
A fuller payload is available in sample-output.example.json. The full output includes meta.executiveSummary, recurringDigest, actionNeeded, vendor summary rows, and page-level evidence suitable for pricing review, renewal prep, policy diff review, procurement alerts, and competitor-watch workflows.
Delivery modes
dataset: saves summary-first vendor digest rows to the dataset (or local output file when Apify dataset env vars are unavailable)webhook: sends a recurring digest payload containingmeta,executiveSummary,recurringDigest,actionNeeded, and selected vendor summary rowsemail: placeholder for MVP parity with other actors
datasetMode controls delivery surfaces:
action_needed: only vendor summary rows that need follow-upchanges_only: baseline-friendly vendor summary rows withchanged,initial,partial, orerrorstatusall: every monitored vendor summary row
Template catalog
| Template | Best for |
|---|---|
| Pricing + Terms Quickstart (baseline first, one summary per vendor) | first success with a small vendor set and a stable recurring snapshot key |
| Vendor Renewal Watch (one summary per vendor) | RevOps, finance, or procurement teams preparing for pricing / contract events |
| Competitor Pricing Monitor (one summary per vendor) | strategy teams tracking pricing, releases, and availability signals |
| Procurement & Vendor Risk Alerts (one summary per vendor) | sourcing and vendor-management teams watching commercial / control drift |
| Terms + Policy Diff Review (one summary per vendor) | legal teams reviewing terms-of-service, privacy, DPA, and security changes |
| Action-Needed Vendor Digest Webhook (one summary per vendor) | downstream alerts to Slack, CRM, ITSM, or internal automation |
Recommended first recurring run:
- 2-3 vendors
datasetMode=changes_onlydiffMode=line_summary- stable
snapshotKey concurrency=2
Local Run
cd /volume1/docker/Apify/vendor-change-monitorcp -n .env.example .envcp -n input.example.json input.json./scripts/run-with-env.shcat output/results.json
The bundled input.example.json is fixture-based and safe for offline local verification.
For Store-oriented live examples, use store-input.example.json or the recurring templates.
Tests
cd /volume1/docker/Apify/vendor-change-monitornpm test
Reliability guardrails
- per-page timeout control (
requestTimeoutSeconds) - retry-aware HTTP fetches
- concurrency + inter-batch delay controls
- snapshot persistence to Apify KV with local
state/fallback dryRunsupport for non-destructive verificationnowIsosupport for deterministic tests
Notes
- The first run captures the baseline. Re-run the same
snapshotKeyto turn the actor into a recurring pricing monitor, terms monitor, vendor renewal watch, or vendor-risk watch. - Use
includePatternsaggressively on pricing and policy surfaces to reduce noise. actionNeededandrecurringDigestare the intended summary-first surfaces for procurement / vendor-risk routing.- The actor stays billing-safe by keeping multiple monitored pages under one vendor summary.
Related actors
saas-change-monitor-actor— page-level diff foundation reused for grouped vendor watchesdomain-trust-monitor— portfolio-level severity and executive summary patternprocurement-intel-actor— recurring digest and action-needed delivery pattern