Competitor Change Rollup — Weekly Watch Card
Pricing
Pay per event
Competitor Change Rollup — Weekly Watch Card
Watch one competitor's domain and get a weekly card of what actually changed — tech stack, hiring activity, and funding-filing mentions — rolled up from our own live lead-gen Actors. Run it on a schedule and stop manually re-checking three different tools every Monday.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Tim Zinin
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Watch one competitor's domain and get a weekly card of what actually changed — tech stack, hiring activity, and funding-filing mentions — rolled up from three of our own live lead-gen Actors. Schedule it weekly and stop manually re-checking three different tools every Monday.
What you get
- One card per check: the first run establishes a baseline, every run after that reports ONLY what moved since last time — never a full re-summary you have to compare yourself.
- Three signals combined in one watch: tech-stack changes (new tools, CMS, ecommerce platform), hiring momentum shifts, and new SEC funding-filing mentions.
- Honest about uncertainty: a guessed hiring board is checked against its public owner signal when available. A confirmed mismatch is excluded from the snapshot and cannot create a paid change. Funding name matches remain unverified.
- A quiet week costs nothing — the "no changes" notice is free, you only pay when something real actually moved.
- Runs on Apify: schedule it weekly, call it from the API, export to JSON/CSV/Excel or push straight into your competitive-intel pipeline.
How to run it
- Click Try for free — no card needed on the free plan.
- Paste the competitor's domain into Competitor domain.
- Optionally set Role keywords to flag hiring for specific roles.
- Hit Start. The first run creates the baseline; schedule it weekly to get a stream of change cards.
Pricing
Pay-per-event: $0.005 per run start + $0.05 per baseline established / change detected. The "no changes this week" notice and any error row are never charged. 10 changes detected cost about $0.51 (the one-time start fee plus 10 billed rows).
Input
| Field | Required | What it does |
|---|---|---|
domain | yes | The competitor's domain to watch, e.g. "stripe.com". |
role_keywords | no | Words to match against open job titles (default: ["sales","marketing"]). |
company_name_override | no | Override our guessed ATS token/company name (see limitation below). |
baseline_key | no | Name for this watch, in case you run more than one on the same domain. Defaults to the domain itself. |
{"domain": "stripe.com","role_keywords": ["sales", "marketing"]}
⚠️ Important limitation: guessed company identity for 2 of the 3 signals
The tech-stack signal works directly off the domain — no ambiguity. The hiring and
funding signals need a company NAME or ATS token, not a domain, so by default we guess
one from the domain itself. This guess can attach an unrelated company's data to your
watch — every week. Verified live (same underlying issue as our own
lead-list-qualifier Actor): guessing
"example" as a company slug for example.com returned real hiring data for a
completely unrelated company that happens to sit under that token on one of the job
boards we check. Every row exposes matchBasis, attributionConfirmed (true,
false, or null), and attributionEvidence. A false hiring match is excluded and
any legacy misattributed hiring values are removed from the baseline without charging
for that correction. null means ownership evidence was unavailable, not confirmed. If you know
the competitor's real ATS token or legal entity name, set company_name_override to
remove the guesswork.
Output
Baseline established (first run — real output, live run 30.07.2026):
{"domain": "stripe.com","baselineKey": "selftest-live-run","found": true,"baselineCreated": true,"changed": false,"changedFields": [],"techStack": "Next.js,Nginx","hiringMomentum": "aggressive hiring","openRolesCount": 539,"matchedRolesCount": 112,"fundingFilingsSeenCount": 11,"companySlugUsed": "stripe","identityConfidence": "guessed","matchBasis": "guessed-domain","attributionConfirmed": true,"error": "","summary": "First check for \"stripe.com\" (watch \"selftest-live-run\") — baseline established (hiring/funding signals here are UNVERIFIED — guessed company slug, see README). Future weekly runs report only what changed.","checkedAt": "2026-07-30T10:48:45.157Z"}
Change detected (real output, live run 30.07.2026 — reproduced via a controlled baseline change to prove the diff engine catches it, since a competitor's real headcount doesn't reliably shift within seconds):
{"domain": "stripe.com","baselineKey": "selftest-live-run","found": true,"baselineCreated": false,"changed": true,"changedFields": [{ "field": "openRolesCount", "from": 1, "to": 539 }],"newFundingFilingsCount": 0,"newFundingFilings": [],"identityConfidence": "guessed","error": "","summary": "Change detected for \"stripe.com\" (watch \"selftest-live-run\") (hiring/funding signals here are UNVERIFIED — guessed company slug, see README): openRolesCount: \"1\" -> \"539\".","checkedAt": "2026-07-30T10:49:19.857Z"}
| Field | Meaning |
|---|---|
found | true for a real, billable result (baseline established or a real change); false for a notice/error row. |
baselineCreated | true only on the first-ever run for this watch. |
changed / changedFields | Whether anything moved since the last check, and exactly which field(s) with old/new values. |
techStack, ecommerce, cms | Current tech-stack snapshot. |
hiringMomentum, openRolesCount, matchedRolesCount | Current hiring snapshot, keyed on companySlugUsed. |
fundingFilingsSeenCount, newFundingFilingsCount, newFundingFilings | Cumulative SEC filings seen for this watch, and any new ones this run — always check newFundingFilings yourself, see the limitation above. |
identityConfidence | "guessed" or "override" — see the limitation above. |
matchBasis, attributionConfirmed, attributionEvidence | How the hiring token was chosen and whether the board owner's public signal matched this domain. null is unknown. |
partial / partialReason | true when some (not all) of the three sources failed to respond this run — whatever DID answer is still reported/billed. |
error | Empty string when the check completed (including "nothing changed"); non-empty only when ALL THREE sources failed to respond. |
Other tools we built
Related tools
Related tools for adjacent workflows in B2B lead generation and data enrichment, e-commerce.
| Actor | What it does |
|---|---|
| Tech Stack Change Detector | Pair it in the B2B lead generation and data enrichment workflow: Detect a website's current technologies (CMS, ecommerce, analytics, marketing/CRM, framework, hosting/CDN,... |
| Company Profile Lookup | Pair it in the B2B lead generation and data enrichment workflow: Turn a domain or company name into one unified company card: website tech stack (CMS, ecommerce, key tech)... |
| Company Hiring Radar | Pair it in the B2B lead generation and data enrichment workflow: Pull every open role a company is hiring for from its public job board (Greenhouse, Lever, Ashby) and turn... |
| Shopify Price Change Monitor | Pair it in the e-commerce workflow: Watch a list of Shopify stores and get alerted when their price range, catalog size, or estimated revenue... |
| B2B Lead Enricher | Pair it in the B2B lead generation and data enrichment workflow: Turn a list of company websites into sales-qualified lead cards: detected tech stack, a rough revenue... |
FAQ / Limitations
Can I watch several competitors? Yes — run one watch per domain (each gets its own
domain/baseline_key); this Actor scores one competitor per run.
What happens if I change role_keywords or company_name_override for an existing
watch? The watch keeps comparing against whatever it last saw, so changing settings
can produce a "change detected" row that simply reflects the new settings, not a real
change at the competitor. Use a new baseline_key for an intentionally different watch.
What this is NOT. This is not a verified company database and does not confirm that the domain and a matched hiring board or funding filing are the same legal entity — see the limitation section above. It is a change-tracking heuristic, not proof.
Found a bug or need another signal rolled into the card? Issues on the Actor's page.