Tool #signals #prospecting

Buying Window Signal Scorer

Tools Free, ungated
On this page

What changed at a company that makes your offer relevant now? This open-source Python app searches Google Jobs and Google News through SearchApi, then ranks companies using the roles, job-description phrases and events you choose. Every score opens to the source evidence behind it.

Search powered by SearchApi

MIT licensed · Python 3.11+ · Maintained by Forma Nôrden

Repository CI status View the MIT licence · Offline tests: no API requests

Buying Window Signal Scorer dashboard showing editable signal profiles, request estimates and source-linked company results

What you can do

  • Discover employers from relevant job searches or check a watchlist of companies you already know.
  • Start with growth and expansion, team buildout, new leadership or revenue operations, then edit the profile for your offer.
  • See a request estimate before scanning and set a hard API attempt cap that includes retries.
  • Inspect source links, dates, matched description text, score components and identity flags.
  • Export CSV or JSON, compare repeat scans and replay redacted local responses without new API requests.

Run it locally

You need Python 3.11+ and a SearchApi key for live searches. SearchApi offers 100 free requests on signup, checked on 7 October 2026. The fictional sample needs neither a key nor API requests.

git clone https://github.com/forma-norden/buying-window-signal-scorer.git
cd buying-window-signal-scorer
python -m venv .venv

Activate the environment in your shell:

# macOS / Linux
source .venv/bin/activate

# Windows PowerShell
.\.venv\Scripts\Activate.ps1

Install the app, copy .env.example to .env and add SEARCHAPI_API_KEY=your_key before a live scan. Then start the dashboard:

python -m pip install -e .
python -m buying_window.cli serve

Open http://127.0.0.1:8765, choose a profile and market, review the estimate and click Run live scan. Click View growth sample to explore the fictional sample. If you add your API key after starting the server, reload the page.

An editable 100-point research score

EvidenceMaximum pointsWhat earns it
Role and mandate40A matching title, strengthened by a relevant job-description phrase
Job recency20A matching posting dated within 30 days; the newest week earns most
Company news25A dated, relevant event whose headline names the company
Both sources15A qualified job and news event for the same company

You can change the weights and matching phrases. Older or undated material stays available for inspection without earning recency points; weak company-name matches cannot add news points. The app uses Google Jobs and Google News as its search sources.

A dated live run

The 28 September 2026 run note records a US growth scan with a three-company cap: two Jobs requests returned 19 relevant, deduplicated jobs, followed by three News requests. Five requests completed with no failures. The selected employers scored 45 from dated role matches and received no qualified news points.

These are dated integration observations, not promised future yields. For the full account-research walkthrough, read Finding B2B Buying Signals in Job Posts and Company News.

How to use the queue

Open the job and article before outreach, confirm the employer and decide whether the change is one your offer can help with. Save the source, date, matched responsibility and your hypothesis. A high score cannot establish purchase intent, budget or fit.

Requests, exports and replay

The default discovery plan makes two Jobs searches and up to six News searches: at most eight initial requests. The dashboard estimates the plan before it runs; the attempt cap includes retries. A watchlist estimate grows with the number of companies you enter.

The key stays in your environment or ignored .env file. Reports and redacted raw responses stay under ignored data/. Re-score a saved archive after changing the code with zero new API requests:

python -m buying_window.cli replay data/raw/<archive-name>.json

The repository map points to configuration, collection, scoring, the API client, dashboard and fixtures. Run its offline tests with python -m unittest discover -s tests -v.

The Signal-Based List Building Workflow helps develop sources and target lists. This scorer finds and prioritises possible changes. The Buying Window Signal Workflow helps route a verified signal to the next action. Our signal-based prospecting guide covers the broader method.

SearchApi supplied API credits for the project. Forma Nôrden built the app and scoring rules. The code is MIT licensed; the SearchApi wordmark is their trademark.

FORMA NÔRDEN / OPEN SOURCE
Find B2B buying signals in job posts and company news.
GOOGLE JOBS + GOOGLE NEWS
SearchApi
View on GitHub