100% local · no subscriptions · pay once

Find leads.
Write pitches.
Close deals.

Scrylo finds real decision-makers from the web, figures out what they care about, writes them a personalised cold email, and sends it — all from your laptop. No cloud. No monthly fees. $99 once.

Works on 4GB RAM
No GPU needed
Your data stays local
CLI + Web UI included
Groq or offline AI
scrylo — terminal
$ scrylo find --query "SaaS CEO London" --limit 50
▸ Searching Serper + GitHub...
▸ Resolving email patterns (MX)...
✓ 47 leads saved → leads.sqlite
 
$ scrylo pitch --all
▸ Groq llama-3.3-70b detected...
▸ Generating personalised pitches...
✓ 47 pitches written.
 
$ scrylo send --campaign "London SaaS Q1"
▸ Anti-spam checks passed...
▸ Sending with randomised delays...
✓ 47 sent · 0 bounced.
$0
Operating Cost
4GB
Min RAM
500+
Leads / Session
$99
One-time price
Four steps.
From zero to sent.

Everything runs sequentially on your machine. No external services required after setup.

01 //
🔍
Find Leads
Type who you want to reach. Scrylo queries Serper, scouts GitHub, and hunts public directories to find real decision-makers with verified email patterns.
02 //
🧠
Score & Enrich
ICP scoring compares each lead against your target profile with keyword matching. Pain points extracted. Leads ranked so you know who to contact first.
03 //
✍️
Write Pitches
Groq writes a unique, personalised cold email per lead using state-of-the-art language models. No Groq key? Scrylo falls back to built-in smart templates automatically — no setup, no interruption.
04 //
🚀
Bulk Send
Sends via your own SMTP with randomised delays, List-Unsubscribe headers, bounce handling, and a daily cap. Your sender reputation stays intact.
Your AI sales agent.
On your laptop.

$99 once. No subscriptions. No data leaving your machine. No per-lead charges. Ever.

🔍
Smart Lead Finder
Queries Serper's Google API and scouts GitHub profiles to surface real decision-makers. MX record validation and pattern-based email resolution built in.
Serper APIGitHubMX verify
🧠
ICP Scoring
Define your ideal customer profile. Scrylo scores every lead on keyword match and role relevance — hot leads float to the top so you work the right list.
Keyword matchRole scoring
✍️
AI Pitch Writer
Uses Groq (llama-3.3-70b or 3.1-8b) to write targeted, personalised cold emails. No Groq key? Falls back to built-in smart templates seamlessly.
Groq APIsmart templatesJinja2 fallback
🚀
Bulk SMTP Sender
Sends from your own Gmail, Outlook, or any SMTP server. Anti-spam built-in: randomised delays, personalised greetings, unsubscribe footer, bounce tracking.
Any SMTPAnti-spamDry run mode
📇
Business Card Scanner
Drop a folder of photos from your last event. EasyOCR reads every card and imports them as leads — name, role, company, email, all structured and ready to pitch.
EasyOCRBatch import
🔒
100% Private & Local
Your leads, emails, and company data never leave your machine. SQLite database stored locally. Nothing is uploaded to Scrylo's servers — because there are none.
SQLiteNo cloudOffline capable
🖥️
CLI + Web UI
Developers use the full Click CLI. Everyone else opens localhost:8080 in their browser. Both are included, full feature parity.
FastAPIHTMXClick CLI
📋
Manual Lead Import
Add leads manually via the web UI or import a CSV. Full name, company, role, email, LinkedIn — every field is editable. Bulk delete and export anytime.
CSV importManual add
⚙️
Simple Setup
One installer. SMTP configured in settings with auto-fill for Gmail, Outlook, Zoho, Brevo. Groq key is optional — everything works without it using smart templates.
Auto SMTPSettings UI
Four-tier LLM chain.
Always something running.

Scrylo tries the best available model first and falls back gracefully. You never hit a dead end.

01
Groq Cloud Optional
If you set a Groq API key, Scrylo uses llama-3.3-70b-versatile for best quality pitches. Falls back to llama-3.1-8b-instant when you're near the daily limit.
Fast inference · best output quality · get a key at console.groq.com
02
Ollama Optional — local power users
If Ollama is running on your machine, Scrylo can use any model you have pulled — Mistral, Llama 3, Gemma, anything. Full control over model choice.
Detected automatically at localhost:11434
🦙
03
Smart Templates Offline fallback
Built-in Jinja2 templates personalise emails using lead data — name, company, role, and detected signals. No download, no API key, works fully offline. Activated automatically when no LLM is available.
Zero setup · instant · no model required · use explicitly with --no-llm
🧠
04
Static Templates Always available
The final safety net — a minimal, hardcoded template that requires zero configuration and zero dependencies. Guaranteed to produce a sendable email even in fully air-gapped environments.
No failure state · zero RAM · zero dependencies · last resort fallback
📝
Watch Scrylo work.

A live simulation of what happens when you run Scrylo on your machine.

🔍 Lead Finder
Type your target audience. Scrylo searches the web and finds real people.
Leads found
Hit "Scout →" to start
🧠 ICP Scoring
Scrylo reads each profile and scores against your ideal customer.
Enriched profile
Run scoring to see results
✍️ Pitch Writer
Groq llama-3.3-70b writes a unique cold email. Falls back to smart templates if no key.
Generated email
Generate to see the pitch
🚀 Bulk Sender
Randomised delays, anti-spam headers, unsubscribe handling. Dry run first recommended.
Send log
Start to see live log
One price.
Everything included.

No tiers. No feature gating. No subscriptions. Pay once and own Scrylo forever.

⚡ Everything Included
$
99
One-time payment · use forever
No renewals. No API fees. No per-lead charges. Ever.
  • Unlimited lead discovery
  • Email resolution with MX verification
  • ICP scoring engine
  • AI pitch generation
  • Bulk SMTP sender
  • Anti-spam hardening
  • Business card OCR importer
  • Manual lead management
  • Full CLI + Web UI
  • Groq + local LLM support
  • Your data stays local
  • Lifetime updates
Get Scrylo — $99 →

License key delivered instantly · Windows, macOS, Linux

Questions? scryloapp@gmail.com

🔒
Your data, your machine
Nothing ever leaves your computer. Not even to us.
♾️
Zero operating costs
No API fees, no credits, no surprise charges after purchase.
↩️
7-day guarantee
If it doesn't run on your machine and we can't fix it, you get a full refund.
Good questions.
Do I need a Groq API key to use Scrylo?
No. Groq is optional. Without it, Scrylo uses built-in smart templates to generate pitches locally — no internet required, no key needed. The only key required for web discovery is a Serper API key, which has a generous free tier that's more than enough to get started.
My antivirus flagged Scrylo as a threat. Is it safe?
Yes, it's safe — this is a common false positive with PyInstaller-packaged apps. Windows Defender and other AV tools sometimes flag apps built with PyInstaller because the bundling method looks similar to how some malware packs executables. Scrylo has no network backdoors, no telemetry, and no code that harms your system. You can right-click → Run anyway on Windows, or add an exclusion in your AV settings. If you're cautious, install from PyPI (pip install scrylo) and run from source — the code is fully readable.
Will my emails land in spam?
Scrylo handles the technical side well: clean MIME structure, personalised greeting, List-Unsubscribe header, physical address footer, randomised send delays, and no bulk-signalling headers. The bigger factor is your sending domain's reputation. A brand-new domain sending 100 emails on day one will hit Promotions regardless of Scrylo. Warm up your domain gradually — 10–20/day for a week, get some replies — before scaling.
What SMTP providers work with Scrylo?
Any standard SMTP server works. The settings page has auto-fill for Gmail, Outlook, Yahoo, Zoho, Brevo, Mailgun, SendGrid, and AWS SES. For Gmail and Outlook you need an App Password (not your main password). Brevo and Zoho work well for cold outreach volume. We recommend Brevo for getting started — they have a generous free tier.
How accurate are the discovered email addresses?
It depends on the source. Emails found directly on GitHub profiles or company websites are high confidence (90%+). Pattern-guessed emails (e.g. first.last@company.com resolved via MX lookup) are shown with a confidence score. You'll see that score in the send queue — amber-coloured when below 75%. You can deselect low-confidence leads before sending.
Does Scrylo pull from LinkedIn?
No. Scrylo does not access LinkedIn directly — this violates their ToS and leads to instant bans. Instead it finds leads via Google Serper (which may surface LinkedIn profile snippets in results), GitHub, and other public directories. This approach is both legal and sustainable.
How much RAM and disk space do I need?
Minimum is 4GB RAM. The base app uses under 300MB. Smart templates add ~50MB. If you run a local Ollama model, that model's size applies separately (typically 4–8GB for a 7B model). Disk usage for your leads database is negligible — SQLite handles millions of rows in a few MB.
Is this legal? Can I send cold emails?
Cold B2B email is legal in most jurisdictions when done correctly. Scrylo includes all required CAN-SPAM / GDPR elements: sender identity, physical address, one-click unsubscribe. You are responsible for complying with regulations in your target market — check the rules for your country and recipient's country. Scrylo is a tool; how you use it is your call.
What happens if I reach my Groq usage limit?
Scrylo detects the rate limit response and automatically falls back to smart Jinja2 templates. You won't see an error — pitches keep generating. You can also run scrylo pitch --llm jinja2 to force template generation.
Can I run Scrylo on a server / headless?
Yes. The CLI works fully headless. The Web UI requires a browser but the lead discovery, scoring, pitch generation and sending all run fine over SSH or on a VPS. Just point Scrylo at your SMTP and run the CLI commands. Useful for overnight campaigns on a cheap cloud instance.
What does the Serper API key do and is it free?
Serper is used to run Google searches programmatically to find leads. They offer a free tier that's more than enough to get started — sign up at serper.dev. GitHub profile discovery works with a free GitHub token and has a generous request allowance.
Do I get updates? What's included long-term?
Yes — lifetime updates are included with your $99 purchase. New features, bug fixes, and model support updates all come to you automatically via pip install --upgrade scrylo or by re-downloading the installer. There is no version gating or expiry.
What is your refund policy?
We offer a 7-day technical guarantee. If Scrylo doesn't work on your machine due to a technical fault we can't resolve, we'll refund you in full. Read the full Refund Policy for details.
Up and running
in under 2 minutes.

Install via PyPI or download the packaged installer. Both include everything.

1
Purchase & get your license key
Complete checkout. Your license key is emailed instantly.
2
Install from PyPI
Requires Python 3.10+. Or download the .exe / .dmg installer — no Python needed.
3
Add your keys in Settings
Serper key (required for web discovery), SMTP credentials, and optional Groq key. All stored locally.
4
Run your first scout
Open the Web UI at localhost:8080 or run scrylo find "SaaS CEO London". Leads in seconds.
🛡️
Seeing a virus warning on Windows? This is a known false positive with PyInstaller-packaged apps. Scrylo has no telemetry and no harmful code. Right-click → Run anyway, or install via pip install scrylo to run from readable source code instead.
terminal
# Install from PyPI (Python 3.10+ required) pip install scrylo   # Launch the web UI scrylo serve # → Open http://localhost:8080   # Or use the CLI directly scrylo find "SaaS CEO London" --limit 50 # ✓ 47 leads saved → leads.sqlite   scrylo pitch --all # ✓ 47 pitches written   scrylo send --campaign "London SaaS Q1" --dry-run # ✓ Dry run complete · 47 would send   # Remove --dry-run to send for real scrylo send --campaign "London SaaS Q1" # ✓ 47 sent · 0 bounced
required keys
# Serper API — required · serper.dev SERPER_API_KEY=your_key_here   # Groq API — optional · console.groq.com GROQ_API_KEY=your_key_here # optional   # GitHub token — optional · 5000 req/hr vs 60 GITHUB_TOKEN=your_token_here # optional
Every command.
One place.

Full CLI reference for power users. Run scrylo --help anytime to see this in your terminal.

scrylo find
# Find leads from web or GitHub scrylo find "SaaS founders Berlin" --limit 50 # max leads to return --source web # web | github --no-fetch # skip page fetching # ✓ 47 leads saved → leads.sqlite
scrylo icp
# Score leads against your ICP (0–100) scrylo icp --all --all # score every lead in DB --lead-id ID # score a single lead # ✓ 47 leads scored · top: James Mitchell 94
scrylo pitch
# Generate personalised cold emails scrylo pitch --all --preview --all # generate for all leads --preview # show first pitch before batch --provider groq # groq | ollama | jinja2 --lead-id ID # pitch a single lead --no-llm # use Jinja2 templates only # ✓ 47 pitches written · model: llama-3.3-70b
scrylo send
# Bulk send via your SMTP server scrylo send --campaign "Q1 London" --dry-run --campaign NAME # name for tracking (required) --dry-run # preview without sending --limit 50 # max emails to send --delay-min 90 # min seconds between sends --delay-max 180 # max seconds between sends # ✓ 47 sent · 0 bounced · 2 opened
scrylo ocr
# Import leads from business card photos scrylo ocr --folder ./cards --folder PATH # folder of PNG/JPG images --recursive # include sub-folders --dry-run # parse without saving # ✓ 12 cards read · 11 leads imported
scrylo status / demo / serve
# Check your environment health scrylo status # ✓ DB: 312 leads · Groq: connected # ✓ SMTP: smtp.gmail.com:587 · Ollama: off   # Run a simulated pipeline (no keys needed) scrylo demo   # Launch web UI at localhost:8080 scrylo serve --port 8080