Company Change Monitor (Weekly Signals for Company Lists) avatar

Company Change Monitor (Weekly Signals for Company Lists)

Pricing

from $3.30 / 1,000 company update (monitor)s

Go to Apify Store
Company Change Monitor (Weekly Signals for Company Lists)

Company Change Monitor (Weekly Signals for Company Lists)

Weekly change alerts for company lists. Watch competitors, prospects or a portfolio and see what changed at each company (jobs, tech, reviews, ads, pricing), with the reason. Unchanged rows can be free. $6 per 1,000 at basic depth, $25 full.

Pricing

from $3.30 / 1,000 company update (monitor)s

Rating

0.0

(0)

Developer

locaihost data

locaihost data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Share

Give it the companies you watch, such as competitors, prospects or a portfolio, and run it every week. Each run lists what changed at each company since the last run: open jobs, tech stack, reviews, ads, pricing and key pages. Every signal comes with a plain-English reason. Companies with no changes can cost nothing.

{
"companies": ["zapier.com", "monzo.com", "gymshark.com"],
"watchName": "competitors",
"onlyChanged": true
}

Press Start. The first run saves a baseline for each company. From the second run on, every row says changed or unchanged, and what moved.

The Monday list

Every Monday you open one table. Say you watch 200 competitors: most rows say unchanged and cost nothing. Twelve say changed, and each says why. Acme went from 20 to 31 open jobs, 6 of them in Engineering. Initech swapped HubSpot for Salesforce. Globex added a pricing plan and its Trustpilot rating fell from 4.5 to 4.1. Those twelve rows are the week's reading.

Schedule it weekly

  1. Open this Actor, paste your list, set Watch list name (for example competitors) and turn on Charge only changed companies. Click Start. That run is the baseline.
  2. Click Save as a new task, so the same input is used every week.
  3. In Apify Console, open Schedules in the left menu and click Create new. Pick weekly (for example Monday 07:00 in your time zone), then Add the task you saved.
  4. Optional: on the task's Integrations tab, send each finished run to Slack, email, Google Sheets or a webhook.

Each week's run has its own dataset; open the Changes view first. Keep the same watchName and list: each company is compared with its own last snapshot. A company you add later starts with its own baseline. Different lists (competitors, prospects) are kept apart, so one account can watch several.

What you get per company

{
"name": "Acme",
"domain": "acme.com",
"monitorStatus": "changed",
"changes": [
{ "field": "hiring.openJobs", "label": "Open jobs", "old": 20, "new": 31, "since": "2026-10-28T06:00:00.000Z" },
{ "field": "tech.technologies", "label": "Technologies", "added": ["Salesforce"], "removed": ["HubSpot"] }
],
"signals": [
{ "key": "hiring-fast", "label": "Hiring fast", "reason": "Open jobs 20 → 31 (+55%); +6 Engineering" },
{ "key": "new-tech", "label": "Tech stack changed", "reason": "added Salesforce; removed HubSpot" }
],
"changedSince": "2026-10-28T06:00:00.000Z",
"snapshotAt": "2026-10-28T06:00:00.000Z",
"stale": []
}

The full company row comes with it (firmographics, web, tech, hiring, reviews, marketing, money, compliance, sources and confidence per field), so a changed company never needs a second lookup.

  • monitorStatus: first-run (baseline saved), changed, unchanged, or not-read (the company could not be read this time: free, and its snapshot is kept).
  • changes: field, old value, new value and the date of the snapshot it was compared with. Lists give added and removed.
  • signals: what is worth acting on, each with its numbers.
  • stale: fields this run could not read, or that came back empty for the first time. Their last values are kept and they are not reported as changes.
  • siteChanges: headings added or removed on the home, pricing and about pages, and new pages in the sitemap.

What counts as a change

WatchedCounts as a change when
Open jobsIt moves 10% and by at least 2
Monthly visits, global rankIt moves 10%
Review ratings (Trustpilot, Sitejabber, Google Maps)It moves 0.1 or more
Review countsThey move 1% and by at least 5
Ads seen (Google, Meta, LinkedIn)The count moves by 2 or more
Instagram followers, YouTube subscribersThey move 2%
Employees on LinkedInIt moves 2% and by at least 5
Technologies, pricing plans, customer logos, integrations, certificationsAnything is added or removed (order never matters)
Name, HQ city, industry, employee band, jobs platform, email provider, CMS, e-commerce platform, registry status, sanctions screeningThe value is different (case and spacing ignored)

Small moves under these thresholds are not changes, and the baseline is kept, so slow drift still shows once it adds up.

Signals sit on top of the changes:

SignalWhen
Hiring fast10+ open jobs, and up 30% since the last run or +5 in Engineering, Sales, Product, Data or Marketing
Hiring slowedFrom 5+ open jobs, down by half or to none
Hiring in a new countryJobs in a country the last run didn't have
New adsGoogle, Meta or LinkedIn ads from none to some, or up 50% and by at least 3
Traffic up or downMonthly visits move 25%
Rating droppedA review rating falls 0.3 or more, or the Trustpilot reply rate halves (from 20% or more)
Tech stack changed, pricing changed, new integrations, new customer logosAnything added or removed (for prices: a new plan, a dropped plan, or a new price)
Website redesigned, new pagesMost homepage headings changed, or 5+ new pages in the sitemap

Every run also carries the standing signals: raised money (Form D in 90 days), won a public contract, sponsors visas, running ads, in the news, shipping fast.

No false alarms from outages. If a source can't be read this run (a site refuses, a request times out), its fields go to stale, the old values are kept and nothing is reported as changed. The same goes for a source that depends on one that failed. A value that suddenly comes back empty (a job board that didn't answer this time) is held as stale and reported as gone only if the next run finds it empty too. An empty list right after a full one is treated as a read problem, not "everything removed".

Why unchanged companies are free

With Charge only changed companies (onlyChanged) on, an unchanged company gets a short row (who, unchanged, since when) and no charge. A quiet week costs almost nothing, and you pay for the companies that moved. The thresholds above keep small wobbles out, so changed means a real change. First runs and changed companies are full rows and are charged.

Price

Pay per company checked, on the Starter tier. Scale pays 25% less and Business 45% less.

EventWhen it is chargedPrice per 1,000
company-updateA company checked: first run, changed, or unchanged with onlyChanged off$6
company-fullThe same, at full depth (the default) when a full-depth source (traffic, LinkedIn, Google Maps, Meta or LinkedIn ads) returned data; charged instead of company-update$25
name-lookupAdd-on: a company given by name only that needed a web search to find its website (domains never pay it)$4
review-insightsAdd-on, only with the API input includeReviewInsights: true: a company that has review insights$3
apify-actor-startOnce per run$0.05 (so $0.00005 a run)

Free: unchanged companies with onlyChanged on, companies not found, not readable this run (not-read) or not a company.

The price list also has company-basic ($6 per 1,000) for plain enrich runs; this Actor runs in monitor mode, so it charges company-update instead.

Example: a weekly schedule over 500 companies given by domain, with onlyChanged on, costs at most $3 a week at "depth": "basic" and at most $12.50 a week at full depth, and less in quiet weeks.

Honest limits

  • Organisations only. No people: no names, personal emails, phone numbers, employee lists, officers or domain registrant details. For decision-makers, use the Company Enrichment Actor below.
  • Logged-out, public data only. We never log in.
  • A change is only as good as the read. Some sources refuse requests now and then (LinkedIn, Meta, Google, review sites). That source then shows in stale for that company, and a real change there waits until a run can read it.
  • G2 and Capterra are not read in this version: their pages refuse requests from cloud servers.
  • Estimates are labelled. Traffic numbers are Similarweb's estimates; a change in them is a change in the estimate.
  • The first run has nothing to compare with. It saves the baseline and reports no changes.
  • If a run stops early (time limit or your maximum charge), the companies it did not reach keep their old snapshot and are compared next time. A change is saved only once its row was delivered to you, so you never miss one.
  • Snapshots live in a named key-value store in your own account (company-change-monitor-state). Deleting it starts every list over.

FAQ

How often should I run it?

Weekly suits most lists: jobs, ads and pricing move on that scale. Daily works too, but most companies will say unchanged.

Can I add or remove companies later?

Yes. A new company starts with its own baseline; a removed one is simply not checked. Keep the same watchName.

Can I use it through the API or from an AI agent?

Yes. Call it like any Apify Actor through the Apify API, connect runs to Zapier, Make or n8n, or use it from an AI assistant through Apify's MCP server.

Lawful use

Use the data lawfully: for B2B research, competitor tracking, account planning and compliance checks. You are responsible for how you use it under the laws that apply to you, including privacy and marketing rules.

Need one-off rows with no comparison, or decision-makers with work emails? Use Company Enrichment by Domain or Name: same data, same sources.

Did it help? A rating helps others find it.

Questions or a correction: apify@locaihost.org