Open source Gojiberry alternative: looot-warm-leads
Find warm B2B leads from public LinkedIn intent signals and rank them.
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-warm-leads?
looot-warm-leads is an MIT-licensed Next.js app and CLI. You name competitors, creators and topics. It finds people who commented, reacted or posted, reads their profiles, scores them against your ICP with every signal explained and drafts a first message. The code is open source. The data is paid per looot call.
What it does
What looot-warm-leads does and how to run it
It lists recent posts from competitor pages, creators and keywords, then reads comments and reactions on the top posts. Candidates are ranked, and the best few get a profile and company read. New-role, hiring and funding triggers are optional.
Each lead gets a score from 0 to 100: fit points plus intent points. The breakdown names every signal, the provider that supplied it, its weight, the date, the cost and a link to check it.
You pick leads, see the quote for the email lookup first, and get a verified work email. It drafts a first message that refers to the real signal and exports CSV or an Instantly import file. A daily GitHub Actions workflow is included.
This is the job that products such as Gojiberry do.
git clone https://github.com/loootai/looot-warm-leads && cd looot-warm-leads
npm ci --ignore-scripts
npm run demo
npm run warm -- run --demo
npm run warm -- run --dry-run --config examples/sources.example.json
export LOOOT_TOKEN=...
npm run warm -- run --max-spend 1 --since-last
npm run warm -- email --top 5 --dry-run
npm run warm -- export --format instantlyFacts
Facts from the repository
Read from GitHub on 2026-10-11.
| Job | Find warm B2B leads from public LinkedIn intent signals and rank them. |
|---|---|
| License | MIT |
| Language | TypeScript |
| A real run needs |
|
| Demo mode | Yes. npm run demo and npm run warm -- run --demo use invented people and companies with a stand-in for looot. They need no token or account and book simulated spend at list price. |
| Repository | github.com/loootai/looot-warm-leads |
| Facts read on | 2026-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.
| Endpoint | Used for | Live price |
|---|---|---|
| scrapecreators-linkedin-company-postsscrapecreators | Posts of a competitor page | reading live price |
| harvestapi-profile-postsharvestapi | Posts of a creator | reading live price |
| harvestapi-post-searchharvestapi | Posts that match a keyword | reading live price |
| fetchin-post-engagementfetchin | Comments and reactions on a post | reading live price |
| fetchin-profilefetchin | Profile: title, role start date, location | reading live price |
| fetchin-companyfetchin | Company: industry, headcount, site | reading live price |
| predictleads-companies-job-openingspredictleads | Open roles, optional trigger | reading live price |
| predictleads-companies-financing-eventspredictleads | Funding events, optional trigger | reading live price |
| anysite-api-linkedin-user-emailanysite | Work email lookup | reading live price |
| millionverifier-verifymillionverifier | Email verification | reading 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-warm-leads does not do
- It is a local tool, not a hosted outreach platform. It runs no campaigns and sends no email.
- It does not log in to LinkedIn, use a session cookie or automate a browser. The intent data comes from public-data providers through looot.
- Sending on LinkedIn is optional and goes through your own paid Unipile account. The README says no Unipile call was made when it was written, so that part is unverified.
- LinkedIn engagement data is incomplete. Providers return a sample of commenters and reactors, not all of them, and a reaction date is the post date when the provider gives none.
- Response parsing was written from provider documentation and fixtures. The README says it was not checked against a recorded paid response. A parse that finds nothing is reported as no data, not as a failure.
- State is a JSON file. There is no hosted service, no database and no login, so run it on your machine or behind your own access control.
With an agent
Run it with your agent
Copy the prompt, give it to the agent you already use, and it dry-runs first.
FAQ
Questions about looot-warm-leads
Keep going
Related on looot.ai
- ScrapeCreators through looot
Social media data API
- Free tools
Jobs you can run in the page
- All open source repos on looot
The hub with every repo
- repo
- https://github.com/loootai/looot-warm-leads
- job
- Find warm B2B leads from public LinkedIn intent signals and rank them.
- license
- MIT
- language
- TypeScript
- endpoint
- scrapecreators: scrapecreators-linkedin-company-posts (linkedin_company_posts)
- endpoint
- harvestapi: harvestapi-profile-posts (linkedin_person_posts)
- endpoint
- harvestapi: harvestapi-post-search (linkedin_post_search)
- endpoint
- fetchin: fetchin-post-engagement (linkedin_post_engagement)
- endpoint
- fetchin: fetchin-profile (linkedin_person_profile)
- endpoint
- fetchin: fetchin-company (linkedin_company_profile)
- endpoint
- predictleads: predictleads-companies-job-openings (jobs_company)
- endpoint
- predictleads: predictleads-companies-financing-events (company_funding)
- endpoint
- anysite: anysite-api-linkedin-user-email (people_email_find)
- endpoint
- millionverifier: millionverifier-verify (people_email_verify)
- 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-warm-leads 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.