Company Signals — Competitor Hiring & Product Watch avatar

Company Signals — Competitor Hiring & Product Watch

Pricing

from $10.00 / 1,000 signal detecteds

Go to Apify Store
Company Signals — Competitor Hiring & Product Watch

Company Signals — Competitor Hiring & Product Watch

Competitor monitoring from a domain: finds their job board, store, community and status page, then reports hiring shifts, launches and outages.

Pricing

from $10.00 / 1,000 signal detecteds

Rating

0.0

(0)

Developer

Diseño Web de Colombia

Diseño Web de Colombia

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a month ago

Last modified

Share

Give it a domain. It finds the competitor's job board, store, community and status page — then tells you when they move.

What is Company Signals?

Most competitor tracking asks you to configure every source by hand. This Actor starts from a domain and discovers what that company exposes publicly: its applicant tracking system, its Shopify storefront, its Discourse community, its status page. Then it watches all of them and reports typed signals.

Hiring pushes, product launches, price moves, outages, community activity — each one is a dated, categorised row, not a wall of text.

Discovery is the hard part

The reason competitor monitors are painful is setup. You have to know that a company uses Greenhouse, find their board token, locate their status page, and repeat that for every competitor.

This Actor probes for all of it from the domain alone, then diffs each source against a snapshot held in your own account. Adding a competitor is one line: their domain.

Signals are typed so you can route them — a hiring surge goes to sales, an outage goes to support, a product launch goes to product. The first run is a baseline: no per-result charge, small sample.

What you can use it for

What you wantHow to ask for it
Competitor monitoring from one domaincompanyDomains: ["rival.com"] — sources auto-discovered
Sales triggers — a competitor staffing upRead hiring signals, route to the rep
Product launch detectionStorefront and community signals
Outage and reliability watchStatus-page signals
Market research across a competitive setSeveral domains, one run
Investor or portfolio trackingOperational tempo without asking the company
Agency reporting for clientsOne monitor key per client
Churn signals in a rival's communityCommunity activity shifts

Typical jobs: competitor monitoring, competitive intelligence, market research, and sales-trigger detection.

What data you get

For each signal: the signal type, the company domain, the source it came from, a human-readable summary, the underlying values that changed, a URL to the evidence, and the detection timestamp.

Input

Every field is optional unless marked required.

FieldTypeDescription
oneShotbooleanReturn everything these companies publish right now instead of what changed. Use this for a single lookup or from an AI agent — as a monitor, the first run returns nothing because there is no history to compare against yet.
companyDomainsarray, requiredJust the domains of your competitors: stripe.com, vanta.com, allbirds.com. The actor finds their job board, online store, community forum and status page by itself — you do not paste any URLs.
monitorKeystringKeep this the same across runs — it is how the actor remembers what it already saw. Use a different name for an independent watchlist.
trackSignalsarrayLeave empty to get all of them. Hiring shifts are the earliest indicator of a competitor's strategy.
sourcesarrayLeave empty to use every source the company exposes. Restricting them makes runs faster and cheaper.
maxSignalsintegerSafety cap. You are charged per signal returned.
resetBaselinebooleanForget everything seen before and take a fresh baseline. The baseline run is never charged.
proxyConfigurationobjectRecommended. Shopify and some stores block datacenter IPs, including Apify's, so a residential proxy avoids gaps in store data.

Input sample

{
"companyDomains": [
"stripe.com",
"vanta.com"
],
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
]
}
}

Output sample

One real row from an actual run:

{
"signal": "current",
"detectedAt": "2026-07-30T19:06:25.273Z",
"domain": "vanta.com",
"source": "jobs",
"title": "Senior Account Executive, Growth Stage",
"url": "https://jobs.ashbyhq.com/vanta/fe5fd1a4-12ff-4703-bed5-6c2f34ba7768",
"summary": "jobs: Senior Account Executive, Growth Stage",
"value": null,
"previousValue": null,
"changePct": null,
"state": null,
"detail": "Remote U.S.",
"key": "vanta.com:jobs:fe5fd1a4-12ff-4703-bed5-6c2f34ba7768"
}

Who uses this

  • Competitive intelligence — one row per meaningful competitor move
  • Sales teams — a competitor hiring surge is a market signal with timing
  • Product managers — see launches and deprecations as they ship
  • Investors — track a portfolio's operational tempo without asking
  • Agencies — monitor a client's whole competitive set from one place

Honest limits

These are real and none of them is fixable by any tool. They are here so you know what you are buying before you run it.

  • A company is only as visible as what it exposes publicly. A competitor with no public job board, no Shopify store and no status page will produce few signals. The run tells you which sources were found.
  • The first run is a baseline and returns a sample, not the full state.
  • Discovery is heuristic. It probes likely locations and confirms with real data, but a company using an unusual setup may not be detected.
  • A residential proxy is recommended. Some of the sources probed block datacenter IPs.
  • A change between runs is invisible. Schedule according to how fast you need to know.

FAQ

What sources does it actually check?

Applicant tracking systems (Greenhouse, Lever, Ashby, Workable), Shopify storefronts, Discourse communities and public status pages. It probes each from the domain and keeps the ones that return real data.

Do I have to configure each competitor's sources?

No, that is the point. You give a domain and discovery does the rest. If nothing is found, the log says so instead of failing silently.

Why did a competitor return no signals?

Either nothing changed since your last run, or that company exposes none of the sources this Actor understands. The run log distinguishes the two.

What is a typed signal?

A change categorised by what it means — hiring surge, product launch, price change, outage — rather than a raw diff. It makes routing and alerting straightforward.

How often should I run it?

Daily suits most competitive tracking. Faster only helps if you act on outages or launches within hours.

Where is the history kept?

In a named key-value store in your own Apify account, one per monitor key. It never leaves your account.

Do I need an account or an API key for the source?

No. This Actor only reads public pages and public endpoints, the same ones any logged-out visitor sees. You never give it credentials, and nothing is done on your behalf.

Scraping publicly available information is broadly accepted as legal, and this Actor only ever touches pages that require no login. That said, what you may do with the data afterwards is a separate question — personal data in particular is regulated by GDPR and CCPA. If you plan to process personal data, take advice first. Apify has a good primer: Is web scraping legal?

How much will a run cost me?

You are charged per result, so the cost scales with what you actually get back. The pricing is shown on this page above the input form. Start with a small run to see real numbers before you scale up.

Can I export to Excel, CSV or Google Sheets?

Yes. Every run's dataset can be downloaded as CSV, Excel, JSON, XML or HTML from the Storage tab, and Apify integrates directly with Google Sheets, Airtable, Zapier, Make and Slack.

Can I run this on a schedule?

Yes. Open the Schedules tab and pick an interval — hourly, daily, weekly. Each run only costs you what it returns.

Can I call it from my own code instead of the console?

Yes. Every Actor on Apify is also an API endpoint. There are official clients for Python and JavaScript, plus a plain REST API. The API tab on this page shows ready-made snippets with your input already filled in.

Something came back empty. Is it broken?

Usually not. An empty result normally means the filters were too narrow, or the source genuinely has nothing to return for that query. This Actor is written to finish successfully and tell you what happened rather than fail — check the run log, it says which step returned nothing.

  • ATS Job Monitor — deeper tracking of hiring changes alone
  • Shopify Sales Tracker — deeper tracking of storefront changes alone
  • Company Enrichment — turn a domain into firmographics and contacts

Where the data comes from

Public applicant tracking system endpoints, public Shopify product feeds, public Discourse endpoints and public status pages. No login anywhere. Snapshots are kept in your own Apify account.