Skip to main content

Buying Signals with Claude: Hiring, Funding and Tech Changes

· 16 min read
Yassine El Haddad
Software Developer & Automation Specialist

I build production AI agents, web scrapers, and automation pipelines. Most of what I publish here comes from the actual problems they run into: proxies that get banned, anti-bot stacks that fingerprint your client, RAG that drifts when the underlying data moves. Stack: Python, TypeScript, Go, FastAPI, LangChain, Crawlee, Playwright, deployed on AWS, GCP, and Cloudflare.

Quick Answer

Give Claude your list of target accounts. Once a month it pulls three kinds of public evidence through Apify: new job ads (LinkedIn), funding news (Google News) and the technologies on each company's website. It throws out anything it cannot tie to the right company, scores what is left, and logs each real signal as a note and follow-up task in HubSpot, with the source link. For 50 accounts the scraping costs roughly $1 to $2 a month.

A lead list tells you who could buy. A buying signal tells you who has a reason to buy now: they just posted three RevOps roles, closed a round, or swapped their analytics tool. Sales teams pay intent-data vendors for this. For a list of 20 to 200 named accounts, most of the same evidence is public, and the hard part is not collecting it but reading it carefully enough to tell a real signal from a name collision. That reading is the part Claude does well.

This post covers the signal sweep on accounts you already know. If you still need to build the account list, start with the AI lead generation playbook.

Let Claude set it up for you​

Paste this into a new Claude Cowork task. Claude asks for your accounts and your offer one question at a time, checks the Apify and HubSpot connectors, runs a priced test on three accounts, and only then builds the monthly sweep. The manual walkthrough below explains each piece.

Set up my monthly buying-signal sweepInteractive setupPaste into Claude Cowork

Claude interviews you, tests the three signal sources on three accounts, shows you the cost and the evidence, then builds the monthly task. It asks before anything that spends money or writes to your CRM.

  1. Asks for your offer, the signals that matter to you, and your account list
  2. Checks the Apify and HubSpot connectors and explains how to add them if missing
  3. Runs a three-account test and shows every signal with its source and the cost
  4. Writes the monthly task, logs approved signals to HubSpot, and sets the schedule with you
Help me set up a monthly buying-signal sweep for my target accounts, using the
Apify connector (and HubSpot if I have it). Work in stages, ask me ONE question
at a time, and never write to my CRM or spend money without my explicit OK.

1. INTERVIEW. Ask me, one at a time:
- what I sell, in one sentence, and who buys it (job titles)
- which signals matter, from: hiring for specific roles (ask which roles),
new funding, website technology changes (ask which tools I replace or
integrate with)
- my account list: company name + website domain for each (paste or a file
in this folder). If two names are ambiguous (e.g. "Linear"), ask me for a
distinguishing word to use in news searches.
- where results go: HubSpot (notes + tasks on existing company records) or
a CSV file in this folder

2. CHECK CONNECTORS. Confirm you can use the Apify tools (fetch-actor-details,
call-actor, get-dataset-items). If not, stop and tell me to add a custom
connector (Customize > Connectors > Add custom connector) with:
https://mcp.apify.com?tools=fetch-actor-details,call-actor,get-dataset-items
If I chose HubSpot, confirm the HubSpot connector is connected; if not, tell
me to add it from Customize > Connectors and wait.

3. CHECK INPUTS. Before calling any Actor, call fetch-actor-details for:
curious_coder/linkedin-jobs-scraper, data_xplorer/google-news-scraper-fast,
automation-lab/wappalyzer-technology-lookup
and use the input field names it returns (they change; do not guess).

4. TEST ON 3 ACCOUNTS. Tell me what you will run and the maximum cost, then
wait for "go". Run, for 3 of my accounts:
- jobs: one call per company, keywords = company name,
datePosted "pastMonth", limitPerSource 10
- news: one call, one keyword per company ("<name>" funding, or my
distinguishing word), timeframe "30d", maxArticles 3
- tech: one call with the 3 domains, maxPagesPerDomain 1
Then classify every result:
- KEEP only if it is clearly about this company (company name on a job,
article actually names the company as the subject).
- FUNDING only if the article announces a new round for this company inside
the window. Database profile pages (Tracxn, Crunchbase) are not signals.
- TECH: ignore detections under 90 confidence. On the first run, save the
detected tools per domain as the baseline; a change is only a signal when
a later run differs from the baseline.
- Count one role posted in several cities as one signal.
Show me a table: account, signal type, evidence (title + URL + date),
your score 0-10 and why, plus everything you discarded and why.
Report the test cost from the run details.

5. BUILD THE MONTHLY TASK. Write the full task prompt with the same rules,
limits sized to my whole list, and a cost estimate. Scoring: relevance to my
offer 0-5 + strength 0-3 + recency 0-2 (under 14 days = 2, 14-30 = 1).
Missing evidence is "unknown", never a low score.
Output: accounts ranked by score with evidence links; signals scoring 6+
go to the destination I chose. For HubSpot: find the company by domain,
add a note with the evidence and link, and create a task for the record
owner. Never create new companies or contacts. Show me the first batch of
writes and ask before making them.
Then show me the task prompt and ask before creating the schedule. If you
cannot schedule from here, tell me where to paste it (Scheduled > New task).

Never contact anyone on my behalf. Do not look up or store people's
personal profiles; this sweep uses company-level data only.

Claude asks before each change it makes. Read each step before you approve it.

The three signals, and what each one actually tells you​

SignalWhat it suggestsSource in this workflowMain way it misleads
Hiring for roles your product servesNew budget or a new owner for the problem you solveLinkedIn Jobs ScraperOne role posted in several cities looks like several signals
Funding announced in the last 30 daysMoney and pressure to spend it on growthGoogle News ScraperName collisions and database pages that are not news
Tech-stack change on the websiteA tool was added or dropped, so a vendor decision just happenedWappalyzer Technology LookupHeuristic detections that are wrong, and tools that never show on a homepage

All three are company-level and public. None of them needs anyone's personal profile, which keeps the workflow clear of most of the legal questions around scraping people. If you later add contact data, read Is Apify legal? first, and note that LinkedIn's terms forbid scraping member profiles; this workflow only reads public job ads.

What a real test returned​

We ran the three Actors on three companies on 2026-10-21: Vercel, Linear and PostHog, chosen because they are well-known product companies with public job boards and websites. Everything below is real output from a test run on 2026-10-21, trimmed.

Hiring: five ads, three real signals​

keywords: "Vercel", datePosted: "pastMonth", limitPerSource: 5:

TitleLocationPosted
DevRel Engineer, Agentic InfrastructureSan Francisco, CA2026-10-17
DevRel Engineer, Agentic InfrastructureNew York, United States2026-10-20
Software Engineer, PlatformSan Francisco, CA2026-10-08
Software Engineer, ObservabilityNew York, United States2026-10-18
Software Engineer, PlatformNew York, United States2026-10-08

All five were Vercel jobs, so the company-name search was precise for a distinctive name. But five ads are three roles: two titles were posted in two cities each. Count ads and you overstate the signal by two thirds. The prompt above tells Claude to count roles, not ads.

The output also includes companyEmployeesCount, companyWebsite and the full description text, which is where the useful detail sits. "Software Engineer, Observability" means something specific to an observability vendor; "Software Engineer, Platform" probably does not.

Funding: seven articles, zero signals​

One run, three keywords, timeframe: "30d", maxArticles: 3:

KeywordArticle (trimmed)PublishedSignal?
"Vercel" fundingVercel - 2026 Funding Rounds & List of Investors (Tracxn)2026-10-10No: database profile page
"Vercel" fundingFirm Advises Forgepoint on $9.8 Million Seed Financing2026-10-16No: about a different company
"Vercel" fundingWhy Coding Agents Are Choosing Vercel as Often as Humans Do2026-10-01No: news, but not funding
"Linear" raisesEMode Photonix Raises $1M Pre-Seed Round …2026-10-16No: "linear" as an ordinary word
"Linear" raisesRn exhalation rate from selected industrial … samples2026-10-09No: scientific paper
"Linear" raisesGolf Pro Shop Raises $24M In New Funding Round2026-10-06No: unrelated company
"PostHog" fundingPostHog - 2026 Funding Rounds & List of Investors (Tracxn)2026-10-11No: database profile page

This is the most useful result in the test. Not one of the seven was a funding announcement for the target company. A pipeline that counts keyword hits would have flagged all three accounts as "recently funded". Two rules fix most of it:

  • Classify, don't count. Claude reads each headline and keeps it only if it announces a new round for this company inside the window.
  • Disambiguate common-word names. "Linear" is also an English word. Search for the name plus something only that company has (its product category or domain), and use Google News operators such as - to exclude known noise.

A quiet month is a normal result. Funding is the rarest of the three signals; most of your accounts will show nothing most months.

Tech stack: a baseline, plus one false positive on every site​

domains: ["vercel.com", "linear.app", "posthog.com"], maxPagesPerDomain: 1:

DomainDetected (confidence)
vercel.comGoogle Analytics (94), Vercel (93), Next.js (92), Bootstrap (80)
linear.appCloudflare (95), Google Analytics (94), Next.js (92), Bootstrap (80)
posthog.comGoogle Analytics (94), Vercel (90), Bootstrap (80)

Bootstrap at confidence 80 appeared on all three sites, with the evidence "Bootstrap-like classes". That is a heuristic match on class names, and we would not trust it for any of these sites without checking. The prompt therefore ignores detections under 90.

Two more limits apply to every website technology detector:

  • The first run is only a baseline. A "switching tools" signal needs two snapshots. Claude saves this month's detections and compares them with next month's.
  • It only sees what the website loads. Analytics, chat widgets, tag managers, hosting and front-end frameworks show up. A CRM, data warehouse or internal tool usually does not. For those, job descriptions are the better evidence ("experience with Snowflake" in three new ads says more than any homepage scan).

What the test cost​

On a paid Apify plan, from the runs' charged events: jobs $0.005 (5 jobs plus the start fee), news $0.028 (7 articles at $0.004), tech $0.0056 (start fee plus 3 domains). About 4 cents in total.

One more thing the test caught. The Google News Actor's input changed shape: the page we read first described a single keyword field, but the build that actually ran rejected it and expected a keywords list. The rejected call cost nothing, but a scheduled task would simply have failed. That is why the setup prompt makes Claude call fetch-actor-details and use the field names it returns before every first run.

How Claude scores a signal​

Ranking needs a rubric Claude applies the same way every month. The one in the prompt adds three parts:

PartPointsExample
Relevance to your offer0-5You sell observability: an "Observability" engineering role is 5, a DevRel role is 1
Strength0-3A new funding round or three related roles is 3; one generic role is 1
Recency0-2Under 14 days is 2, 14-30 days is 1

Signals at 6 or above go to your CRM. Two rules keep it honest:

  • Evidence or nothing. Every signal carries the source title, URL and date. A score with no link behind it is not written anywhere.
  • "Unknown" is not zero. If the tech scan failed for a domain (a timeout, a bot wall), the account is marked unknown for that signal, not scored down.

Where the signals go​

HubSpot​

HubSpot's official connector for Claude can create and update companies, contacts and deals, and log notes and tasks as engagements. It works on all HubSpot tiers and needs a paid Claude plan; a HubSpot Super Admin (or a user with App Marketplace permissions) completes the setup, and you choose what it can access. The connector respects the permissions you've set in HubSpot.

The prompt uses it conservatively:

  • It finds the existing company by domain and never creates new companies or contacts.
  • It adds a note with the evidence and link, and a task for the record owner, so the signal lands in someone's queue rather than a dashboard.
  • It shows you the first batch of writes and waits for your OK.

We did not find documentation saying whether the connector can create custom properties, so the workflow logs notes rather than writing to a custom "signal score" field. If you already have such a property, tell Claude its internal name and test one update first.

Google Sheets or a CSV​

Anthropic released Google Docs, Sheets and Slides connectors in beta on 6 October 2026; they let Claude create and edit Google files. We have not tested appending rows on a schedule with them, so the default in the prompt is a CSV file in your Cowork folder, which you can import anywhere. Each month's file sits next to the tech-stack baseline the next run compares against.

Running it every month​

Once the test looks right, the prompt writes a scheduled task. Monthly matches the 30-day windows used for jobs and news; weekly mostly re-finds the same ads. Cowork scheduled tasks are available on all paid plans and normally run remotely, even with your computer asleep. The exception matters here: a task that needs local files runs only on your computer. This workflow reads last month's tech baseline from a folder, so it runs when your computer is on. If you want it fully remote, drop the tech-stack comparison or keep the baseline somewhere a connector can reach. The scheduling details are in Cowork scheduled tasks.

Monthly cost for 50 accounts​

List prices on Apify's free plan as of October 2026:

SourceVolumePriceMonthly cost
LinkedIn jobs50 runs, up to 10 jobs each$0.002 per job subject to change · verified 2026-10-21 + $0.00005 per runup to about $1.00
Google News50 keywords, 3 articles each$0.004 per article subject to change · verified 2026-10-21about $0.60
Tech stack50 domains, 1 page each$0.005 per run + ~$0.00024 per domain subject to change · verified 2026-10-21about $0.02
Totalabout $1.62

That fits inside the free plan's $5 monthly credit. On paid plans the LinkedIn price drops to $0.001 per job. These are ceilings: most accounts return fewer than 10 recent jobs.

When to buy intent data instead​

This workflow is good for a named list of tens to a few hundred accounts, where a person reviews every signal. It is the wrong tool when:

  • You need signals on accounts you do not know yet. Vendor intent data (research activity across publisher networks) covers companies that never appear on your list. Public scraping cannot see that.
  • You need it daily across thousands of accounts. Claude reading every article is the strength here and the bottleneck there.
  • You need contacts attached automatically. That brings personal data, consent and platform terms into scope; keep it a separate, deliberate step.

For the enrichment side, which adds firmographics and tech data to a list rather than watching it for change, see web scraping for B2B sales enrichment.

FAQ​

Frequently Asked Questions

Public evidence that a company has a reason to buy now rather than someday: hiring for roles your product serves, a new funding round, or a change in the tools it uses. They are most useful on a defined list of target accounts, where each signal tells a rep who to contact this month and why.

Yes, with a data source. Claude does not browse job boards or news on a schedule by itself, but with the Apify connector it can run job, news and website-technology scrapers for each account, discard results that are not about the right company, score what remains and log it in HubSpot through HubSpot's official connector.

Raw keyword hits are not reliable. In our October 2026 test, all seven news results for three companies were false positives: database profile pages, other companies, or common-word name matches. Having Claude classify each headline, rather than counting matches, is what makes the signal usable.

Usually not. Website technology detectors see what the public site loads, such as analytics, chat widgets, hosting and frameworks. Back-office tools like a CRM or data warehouse rarely appear there; mentions in a company's job descriptions are often better evidence.

For 50 accounts, the Apify scraping costs up to about $1.62 a month at free-plan list prices as of October 2026, inside the $5 monthly free credit. You also need a paid Claude plan for connectors and Cowork scheduled tasks.

Next steps​

Connect Apify to Cowork first (setup guide), run the setup prompt on three accounts you know well, and check every signal it keeps and discards against what you know. If the evidence holds up on accounts you know, it is worth trusting on the ones you don't. For more sales prompts, see Claude prompts that use live web data.

Create a free Apify account and run your first signal sweep →

Advertise on this page