From Business Directory to Sales Pipeline

A lead-sourcing CRM we built for our own outbound sales

Prospect lists lived in browser tabs and spreadsheets. We built one tool that finds companies by sector, lets a person qualify each one in seconds and tracks it to a deal.

Sales operations · Internal tool

From Business Directory to Sales Pipeline
Client
Yarify (internal tool for our own sales)
Source
Public Czech business directory
Coverage
50 business sectors, filterable by city
Stack
Python · FastAPI · httpx · SQLite
Outputs
Review queue, CRM statuses, Excel and XML export

Lead generationWeb scrapingCRMPythonFastAPI

What we needed

Outbound sales starts with a list, and building ours meant hours of clicking through directory pages, opening each company's website and copying details into a spreadsheet. Half the rows were dead ends, and nobody could tell which companies had already been contacted. So we built the tool we wanted. It pulls companies from a public business directory by sector and city, shows them one at a time next to a live preview of their website, and turns a yes into a CRM record with an automatic website audit attached. Qualifying a company now takes a glance and one click instead of five tabs.

Constraints we had to design around

  • 01

    Scraping politely

    A directory is someone else's server. Requests had to be paced with random delays, resumable page by page, and stoppable at any moment.

  • 02

    Messy source pages

    Listing and detail pages change and vary. Extraction reads structured data (JSON-LD) first and falls back to HTML parsing, and checks it got the page it asked for.

  • 03

    Human judgement stays in the loop

    Automation finds companies; a person decides who is worth a call. The review screen had to make that decision fast without hiding the evidence.

  • 04

    No duplicates, no lost notes

    The same company shows up under several sectors and searches. Every record had to stay unique, with its notes, contacts and status in one place.

Architecture and what we shipped

  1. 01

    Async scraper per sector and city

    An httpx scraper walks 50 predefined sectors, optionally narrowed to a city, as background jobs with live progress, stop and resume.

  2. 02

    Review queue with a website preview

    One company at a time with its directory details and its own website shown inline. Four decisions: top priority, standard, SEO prospect or decline.

  3. 03

    Automatic audit on approval

    Approving a company with a website starts a run of our [SEO + GEO audit tool](/portfolio/seo-geo-audit-tool). The score and report link land on the CRM record.

  4. 04

    Enrichment where it helps

    Website languages detected from hreflang, html lang and URL paths; phone, email, LinkedIn and free-text notes editable on each record.

  5. 05

    CRM statuses and exports

    Every approved company carries a status from open to closed. Companies can also be added by hand, and the pipeline exports to Excel and XML.

Shipped in three phases

Get the data, make the decision fast, then connect it to the rest of the sales process.

  1. Phase 1

    Scraper

    Sector catalogue, polite async scraping, deduplicated SQLite store

  2. Phase 2

    Review flow

    One-at-a-time queue, website preview, decisions and manual entry

  3. Phase 3

    CRM layer

    Audit integration, statuses, notes, contacts and Excel/XML export

What shipped

50 sectors

Searchable by city, scraped in the background with stop and resume

1 click

To qualify a company, with its website open next to the decision

Auto audit

Every approved website is scored before the first call

Questions about lead-sourcing tools

Is it legal to scrape a business directory for leads?

Public company listings are business data, but the directory's terms, request rate and GDPR still apply. We pace requests, store only company contact details and keep a person deciding who is contacted. Check the source's terms before you build.

Why build this instead of buying a lead database?

Bought lists are generic and go stale. A custom tool targets exactly the sectors and cities you sell to, attaches your own qualification signal (here, a website audit) and keeps the history of every company in one place.

Can the same approach work with our CRM?

Yes. The review queue and enrichment are the valuable part; the store can be HubSpot, Pipedrive or Attio via their APIs instead of SQLite and Excel exports.

How long does a tool like this take to build?

A scraper, review queue and export for one source is a few weeks of senior work. Each extra source or integration adds days, not weeks. We quote a fixed price after a free scoping call.

Building prospect lists by hand? Turn it into a tool.

Show us where your leads come from and how you qualify them. We'll quote a fixed price for the tool that does the clicking.

Tell us what you're building

Prefer to talk? Pick a 30-minute slot.

sales [at] yarify.tech WhatsApp Telegram