MIT open source, paid data

Open source TheirStack alternative: looot-signals

Watch for hiring, funding, news and leadership triggers and get a dated feed with evidence.

The code is MIT open source. The data is not free and not self-hosted: every real run calls looot and pays per call at the catalog price shown before the run.

Short answer

What is looot-signals?

looot-signals is an MIT-licensed web app and CLI where you define triggers such as hiring a role, raising a round or a new head of sales. It pulls matching companies through looot, removes duplicates and shows a dated feed with an evidence link per signal. The code is open source. The data is paid per looot call.

What it does

What looot-signals does and how to run it

You write triggers in a YAML file or in the web app. A trigger has a type (hiring, funding, news or leadership), keywords or roles, an age limit and a row limit. Each run pulls matching companies, dedupes them and keeps a dated feed with an evidence link on every signal.

The CLI runs the same file headless and writes only the signals that are new since the last run, as JSON, CSV and markdown. The web app exports the current filter as CSV, and a webhook receives the new signals of a run, signed with a secret you set.

Every call has a stable idempotency key, so running the same trigger twice in one day replays the stored run and does not charge twice.

This is the job that products such as TheirStack and Harmonic do.

Commands for looot-signals
git clone https://github.com/loootai/looot-signals && cd looot-signals
npm install --ignore-scripts
npm run demo
npm run signals -- --demo --out signals-out
cp triggers.example.yaml triggers.yaml
npm run signals -- --dry-run
export LOOOT_TOKEN=...
npm run signals -- --cap 1 --out signals-out

Facts

Facts from the repository

Read from GitHub on 2026-10-11.

Facts about looot-signals
JobWatch for hiring, funding, news and leadership triggers and get a dated feed with evidence.
LicenseMIT
LanguageTypeScript
A real run needs
  • Node.js 22.12 or newer
  • A looot token with the scopes runs.execute, catalog.read, runs.read and usage.read, for real runs only
  • A funded looot balance, for real runs only
  • A webhook URL, optional
Demo modeYes. npm run demo and the CLI --demo flag use made-up companies. They need no token and cost nothing. Evidence links in demo mode go nowhere on purpose.
Repositorygithub.com/loootai/looot-signals
Facts read on2026-10-11

Data and price

Endpoints it calls, with the live price

Every real run calls these looot endpoints. The price column is read live from the catalog, never typed into this page.

Endpoints called by looot-signals with their live catalog price
EndpointUsed forLive price
anyapi-run-linkedin-jobs-thinanyapiHiring by job titlereading live price
theirstack-jobs-searchtheirstackHiring by words in the job adreading live price
predictleads-discover-financing-eventspredictleadsFunding rounds by stagereading live price
serper-newsserperNews and leadership changes from headlinesreading live price
signalbase-signals-job-changessignalbaseLeadership changes from a structured job-change feedreading live price

Prices are read from the looot public catalog when the page loads. Some endpoints are priced per result, so a run that returns many rows costs more than one call. The CLI dry run prints the exact quote for your input before anything is charged.

Limits

What looot-signals does not do

  • It has no investor or person-level data such as founders, board members or investor graphs. Funding means financing events only.
  • News headlines carry no structured company. The company is a guess from the headline and is empty when the pattern does not fit.
  • Hiring by keyword needs the job-ad text source. Keywords with the job-title source are an error.
  • Response parsing was written from provider documentation and fixtures. The README says it was not checked against a recorded paid response, and the example trigger file was priced only as a quote.
  • Some sources cap a trigger at 25 rows per call.

With an agent

Run it with your agent

Copy the prompt, give it to the agent you already use, and it dry-runs first.

Prompt: looot-signals
Use looot to watch for new hiring, funding and news signals on the triggers in my file. Read https://looot.ai/skill.md first. Then clone https://github.com/loootai/looot-signals, copy triggers.example.yaml, run its dry run and show me the quote and the cap. Run it for real only after I say yes, and report the new signals with their evidence links.

FAQ

Questions about looot-signals

It runs triggers you define, such as hiring a role, raising a round or appointing a head of sales, through looot. It dedupes the results and shows a dated feed with an evidence link on each signal.

The code is free under the MIT license. The data is not. Every real run is a set of paid looot calls at the catalog price, quoted before the run. Demo mode and the dry run cost nothing.

Four types: hiring, funding, news and leadership. Each type has its own data sources, and you set keywords or roles, funding stages, a country, a maximum age and a row limit.

A run costs the sum of its calls. The table on this page shows the live catalog price of each endpoint. Some are priced per result, so the quote assumes the row limit and the real charge is usually lower.

Yes. The web app exports a CSV, and the CLI can post new signals to a webhook as JSON, signed with a secret you choose. Only https URLs are accepted, plus http on localhost.

It has no investor or person-level data, and news signals guess the company from the headline. Its parsers were written from documentation and fixtures and the README says no real response was checked.

Yes. npm run demo and the CLI --demo flag need no token. A real run needs a token and a funded balance.

Give your agent the prompt on this page and the setup link https://looot.ai/skill.md. The repo ships a skill that quotes with a dry run, runs with a cap and reports new signals with evidence links.

Keep going

For agents
repo
https://github.com/loootai/looot-signals
job
Watch for hiring, funding, news and leadership triggers and get a dated feed with evidence.
license
MIT
language
TypeScript
endpoint
anyapi: anyapi-run-linkedin-jobs-thin (jobs_search)
endpoint
theirstack: theirstack-jobs-search (jobs_search)
endpoint
predictleads: predictleads-discover-financing-events (discover_financing-events)
endpoint
serper: serper-news (news_search)
endpoint
signalbase: signalbase-signals-job-changes (people_job_changes)
price
per call, read live from the catalog on the web page
framing
MIT code, paid data, every real run calls looot
setup
https://looot.ai/skill.md
llms.txt
https://looot.ai/llms.txt
read
2026-10-11

Run looot-signals on your own looot account.

Try the demo first, no account needed. For a real run, start your workspace, top up, and use the quote the repo prints before it spends anything.