Company Change-Event Feed - GTM Signal Delta Tracker
Pricing
from $51.00 / 1,000 results
Company Change-Event Feed - GTM Signal Delta Tracker
Detects what changed at a company across hiring, tech stack, funding, firmographics, and social. Returns only the deltas as typed change events in flat, Clay-ready JSON for RevOps and outbound.
Pricing
from $51.00 / 1,000 results
Rating
0.0
(0)
Developer
Mamba Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
an hour ago
Last modified
Categories
Share
๐ What can Company Change-Event Feed do?
Give it a company domain and it returns only what changed since your last run: typed change events across hiring, tech stack, funding, firmographics and social presence. One flat row per company.
It is an orchestrator. It does no scraping of its own. It calls fleet sub-actors, normalizes their output into one company state, stores a per-domain snapshot, and on the next run returns the deltas.
| ๐ฆ What you get | โ๏ธ Features and integrations |
|---|---|
| ๐ Only the deltas, not a full re-dump ๐ฆ Severity and confidence on every event ๐ old_value and new_value plus the source Actor ID๐งพ 10 flat fields, one row per company | ๐ก Five GTM signal sources in one row ๐ Partial-failure safe, a dead source never reads as a removal ๐พ Snapshot returned to you, or stored per domain โฌ๏ธ Export to JSON, CSV, Excel, HTML or XML |
Bought by RevOps teams, outbound agencies and agent builders who need delta intelligence on target accounts rather than a fresh full profile every month.
๐ซ The first run for a domain is a baseline and returns no changes. That is not a fault. It records the state to diff against. Every run after that returns the change events since the prior snapshot.
๐ก Why use Company Change-Event Feed?
| If you want | Read these fields |
|---|---|
| A trigger worth acting on today | has_high_severity, changes |
| Whether anything happened at all | total_changes, is_baseline |
| Recency | latest_change_date |
| Whether the run was complete | source_status |
| To hold the state yourself | snapshot |
๐ A missed fetch never looks like a removal
Each source is isolated. If one sub-actor errors or times out, the others still produce events, the
failed source is marked degraded in source_status, and its prior state is carried forward.
This is the difference between a delta feed you can automate against and one you cannot. Without it, a sub-actor timing out would emit "removed their CRM" and fire an alert on a company that changed nothing.
Read source_status before you act on an absence.
โถ๏ธ Ready-to-run examples
| Example | What it does |
|---|---|
| High-Severity Account Signal Trigger | Alert only on high-severity changes |
| Hiring Ramp Signal Monitor | Watch for hiring acceleration |
| Tech Stack Adoption Change Alert | Fire when a company adopts new tooling |
| Track Competitor Website Changes | Monitor competitors for changes |
| Domain Change Tracker | Track changes on a watched domain |
๐ What data can Company Change-Event Feed extract?
10 fields per company, with the detail inside changes.
| Field | What it holds |
|---|---|
changes | The typed change events, each with old_value, new_value, severity, confidence and the immutable Actor ID of the source that produced it |
total_changes | How many events this run produced |
has_high_severity | The one-field alert gate |
latest_change_date | Most recent change in this batch |
is_baseline | true on the first run for a domain |
source_status | Per source: ok, degraded, skipped or not_selected |
snapshot | Current state, returned so you can store it yourself |
company_domain, company_name | The identity |
run_date | When the run happened |
โ ๏ธ Severity is there so you can ignore most of it. CRM adoption, a hiring ramp and a funding round are high severity. Follower drift and an HQ relocation are low. A feed where everything is an alert is a feed nobody reads, so filter on
has_high_severityfirst and treat the rest as context.
๐๏ธ Choosing sources and a severity floor
Two settings shape a run, and both were fixed before 2026-08-22: every run paid for five sub actor runs, and every change came back regardless of how small it was.
{ "domain": "stripe.com", "sources": ["hiring", "funding"], "min_severity": "high" }
sources picks which of the five to monitor: hiring, tech_stack, firmographic,
funding, social. Leave it empty for all five. A source you do not select is reported as
not_selected in source_status, which is deliberately a different value from degraded.
degraded means the actor tried and could not read it. not_selected means nobody asked,
so the absence of a change there is not a claim that nothing changed.
min_severity sets the floor on the changes array:
| Value | What survives |
|---|---|
low | Everything. The historical behavior and still the default. |
medium | Material changes: role count moves, headcount jumps, tool changes, funding, exec moves. |
high | Major changes only: funding rounds, acquisitions, exec moves, a CRM or sequencer appearing or disappearing, a large hiring ramp. |
high is the setting for an alerting feed. A change carrying a severity the actor does not
recognize is kept rather than dropped, so a labelling bug can never silently hide an event.
Both settings come back on the row as sources_requested and min_severity, so a row with
an empty changes array is never confused with a row where only major changes were asked
for.
๐ ๏ธ How to track changes at a company
- Open the Input tab and put a bare domain in
domain. - Run it once. That run is your baseline and returns no changes.
- Run it again on your chosen cadence, weekly or monthly.
- Filter on
has_high_severityand readchanges. - Check
source_statusbefore you act on something disappearing.
๐งช Using it in Clay
Add an Apify enrichment column and map your domain column to domain, which is the per-row
enrichment shape. domains[] exists for batch runs outside Clay.
Because the actor stores a per-domain snapshot itself, you do not have to persist anything. If you
would rather hold the state, take snapshot from the output and pass it back as previous_snapshot
on the next run.
โฑ๏ธ Choosing a cadence
Monthly suits firmographics and social. Weekly suits hiring and tech stack, which move faster. Running it more often than the underlying sources change produces empty runs you still pay for.
๐ต How much does it cost to track a company's changes?
You are charged once per company analyzed by this actor, and separately by each sub-actor it calls. Both parts are on your account. The worked example below is the number that matters.
| Plan | Per company | Per 1,000 companies |
|---|---|---|
| Free | $0.06 | $60.00 |
| Bronze | $0.057 | $57.00 |
| Silver | $0.054 | $54.00 |
| Gold | $0.051 | $51.00 |
There is also an Actor start event at $0.00005, charged once per run per GB of memory.
๐ณ This is an orchestrator, so the sub-actors it calls bill you too. The price above is for this actor. Each of the five fleet sub-actors it invokes charges its own per-domain event against the token that started the run, which is yours. Budget for the orchestrator plus the sources, not the orchestrator alone. A baseline run costs the same as a delta run, because it does the same work.
๐งพ What a run really costs, measured end to end
The five sub-actors cost more than this actor does. Here is a real run rather than an estimate. Measured 2026-08-12 on a single company.
| Charged to your Apify account | Cost |
|---|---|
| This actor, 1 company plus the start event | $0.0600 |
gtm-hiring-signal-scraper, $0.05 per company | $0.0501 |
funding-press-signal-scanner, $0.03 per company | $0.0301 |
company-social-presence-mapper, $0.015 per company | $0.0150 |
gtm-tech-stack-signal-scraper, $0.015 per company | $0.0150 |
company-firmographic-enricher, $0.004 per domain | $0.0040 |
| Total for that run | $0.1743 |
The five sub-actors were 66% of that bill. The effective price was $0.174 per company, not the $0.06 in the table above, so budget roughly three times the headline rate for a full run.
sources changes that ratio, and it is the single biggest lever on this bill. As of
2026-08-22 you choose which sources to monitor, and a source you do not select is not run
and not charged. Watching hiring alone on the numbers above is $0.0600 plus $0.0501, about
$0.11 instead of $0.174. Watching firmographics alone is $0.064.
The default is still all five, so an existing task, saved input or schedule costs exactly what it cost before.
โจ๏ธ Input
Everything is on the Input tab. The options worth explaining:
| Field | Type | Default | What it does |
|---|---|---|---|
domain | string | none | Bare company domain. The per-row enrichment shape. |
company_name | string | none | Improves attribution on the news and identity sources. |
domains | array | none | Batch mode. |
previous_snapshot | object | none | Diff against a snapshot you hold rather than the stored one. Single company only. |
sources | array | all five | Which sources to monitor. Unselected sources are not run and not charged. |
min_severity | string | low | Report only changes at or above this severity. |
sub_actor_timeout_secs | integer | 90 | Per sub-actor ceiling. Lower it for a quick test. |
๐ค Output
One flat row per company, exportable as JSON, CSV, Excel, HTML or XML.
{"company_domain": "stripe.com","company_name": "Stripe","is_baseline": false,"total_changes": 3,"has_high_severity": true,"latest_change_date": "2026-06-21","changes": [{"type": "tech_stack_added","old_value": null,"new_value": "HubSpot","severity": "high","confidence": 0.9,"source_actor_id": "qyd7nNyqFPelQViBx"}],"source_status": {"hiring": "ok","tech_stack": "ok","funding": "ok","firmographics": "ok","social": "degraded"},"run_date": "2026-06-21T16:20:11Z"}
๐ก Tips
- Alert on
has_high_severityonly. Store the rest as account context. - Every event carries the Actor ID of the source that produced it, so you can always trace a change back to the actor that saw it and re-run just that one.
- Lower
sub_actor_timeout_secswhen you are testing. The default is tuned for completeness, not speed. - Do not treat a
degradedsource as "nothing changed there". It means nobody looked.
โ ๏ธ Known limits
Runs take longer than a single-source actor. This actor waits on up to five sub-actors running in parallel, so a typical run is about 60 to 180 seconds. That is expected for an orchestrator and does not indicate a fault.
Free-plan sub-actors can hit their own caps. If you are on the free Apify plan, a sub-actor may
hit its own monthly free-tier limit and return no data. That source is reported as degraded rather
than silently empty.
Social removals are not emitted. Social profile detection is noisy, so a profile that disappears between runs is not reported as a removal. Only new profiles and significant follower swings are emitted.
The snapshot is latest-state only. It holds current state plus the most recent funding event keys, bounded. It is sized for next-run diffing, not as an archive.
previous_snapshot is single-company only. It is ignored in batch mode, where per-domain stored
snapshots are used.
โ FAQ
Why did my first run return no changes?
Because it was the baseline. It recorded the state to diff against. Run it again on your cadence and you will get deltas.
One source says degraded. Is the row still usable?
Yes. The other sources still produced events and the degraded source's prior state was carried forward, so nothing is falsely reported as removed. Just do not read an absence there as a change.
Does it scrape anything itself?
No. It orchestrates fleet sub-actors and normalizes their output into one change-event schema.
Do I have to store the snapshot?
No. The actor stores a per-domain snapshot itself. snapshot is returned in case you would rather
hold it, and you can pass it back as previous_snapshot.
Why is a follower count change low severity?
Because acting on it is almost always wrong. Severity exists so a real buying signal is not buried under drift.
๐งฉ Want other GTM data?
Mamba Labs builds custom actors for B2B go-to-market teams. The public versions of that work live here on the Store, so our users get the same tooling we build under contract.
Every actor in the suite takes a domain or a company and returns one flat row, so they stack in the same Clay table without reshaping anything.
๐ ๏ธ Need something custom built for you or your team? Tell us what you are trying to find and we will build it. Talk to Mamba Labs.
๐ Support
Something wrong, or a change event you did not expect? Open an issue on the Issues tab with the domain and the row, and we will look at it.
โน๏ธ Sourcing and legal. This actor scrapes nothing directly. Every field comes from Mamba Labs fleet sub-actors, each of which reads public company data: job boards, company websites, public news and press, and public social pages. Each change event carries the Actor ID of the source that produced it, so any value is traceable. You are responsible for how you use the output.
Built by Mamba Labs.