Buying Window Signal Scorer
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.
MIT licensed · Python 3.11+ · Maintained by Forma Nôrden
View the MIT licence · Offline tests: no API requests

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
| Evidence | Maximum points | What earns it |
|---|---|---|
| Role and mandate | 40 | A matching title, strengthened by a relevant job-description phrase |
| Job recency | 20 | A matching posting dated within 30 days; the newest week earns most |
| Company news | 25 | A dated, relevant event whose headline names the company |
| Both sources | 15 | A 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.
Where it fits in the library
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.