AI LinkedIn Lead Generator

AI Development

Project overview

Ajay Dabas, a business owner based in Delhi, wanted to test whether AI could take the grind out of cold outreach. Finding the right people on LinkedIn, collecting their contact details and writing a message that doesn't read like spam can take hours for every batch of prospects. He wanted to see if a tool could do the first draft of all of it in minutes.

In two weeks, I built a working prototype in Python. You pick a country and an industry, describe your business and the problem you solve, and the tool returns a ready-to-use spreadsheet of prospects, each with a personalised outreach email written by GPT.

At a glance

  • Client: Ajay Dabas, Delhi, India

  • Industry: Sales & Lead Generation

  • My role: Python & AI Developer

  • Scope: Proof-of-concept command-line tool, built from scratch

  • Timeline: 2 weeks

  • Tech stack: Python, OpenAI GPT-4o mini, Proxycurl API, asyncio, aiohttp, Jinja2

Impact

  • Prospect research and first-draft emails cut from hours to minutes

  • One spreadsheet with profile links, names, emails and a personalised message for every prospect

  • Profiles fetched in parallel, so larger lists take barely longer than small ones

  • A working proof of concept delivered in 2 weeks

The problem

Cold outreach is slow, and generic messages get ignored

For a small business, LinkedIn is one of the best places to find decision-makers. But turning it into a pipeline of leads is mostly manual work:

  • Finding the right people: Searching profile by profile for the right country, industry and role takes hours.

  • Getting contact details: Even once you've found someone, you still need a way to reach them outside LinkedIn.

  • Writing messages that land: Generic templates get ignored, but writing a thoughtful message for every prospect doesn't scale.

  • Keeping it organised: Notes scattered across browser tabs and documents make follow-ups easy to miss.

The approach

This was a prototype, so the aim was to prove the idea quickly and cheaply before investing in a full product. Three principles guided the build:

  1. Prove the value first. A simple terminal tool was enough to show whether the results were worth building on, without spending weeks on a user interface.

  2. Let AI write, not decide. GPT drafts the message, but the tool controls exactly what it can include, so the output is predictable and ready to send.

  3. Output people already use. Results land in a CSV file that opens in Excel or Google Sheets and imports into any CRM or email tool.

What was built

A guided, keyboard-driven menu

The tool runs in the terminal with a simple menu. You choose the target country and industry with the arrow keys, then type a short description of your business and the challenge your prospects are likely facing. That's all the input it needs.

Finding prospects and their contact details

Rather than scraping LinkedIn pages myself, I used Proxycurl's people-search and profile APIs, which return structured profile data. The tool searches for people matching the chosen country and industry, then looks up each profile for their name, gender and email addresses. Those lookups run in parallel instead of one after another, which keeps the wait short even as the list grows.

Personalised emails written by GPT

Using your business description and the prospect's likely challenge, GPT-4o mini writes a professional outreach email that explains how you can help and ends with a question to start a conversation. Each prospect then gets their own copy, addressed to them by name and signed with your name and contact details.

To keep the AI's output reliable, I gave it strict rules: no subject line, no HTML, a professional tone, and only three placeholders for the prospect's name, the sender's name and the sender's contact details. Its answer has to arrive inside a clearly marked block, which the tool extracts and fills in. A low temperature setting keeps the wording consistent from run to run.

A ready-to-use spreadsheet

Every run produces a timestamped CSV file with one row per prospect: their LinkedIn profile, first and last name, gender, email addresses and personalised message. It can go straight into a spreadsheet, a CRM or an email-sending tool.

Under the hood

For technical readers, a summary of how it fits together:

  • Language: Python, with a curses-based terminal interface

  • Data: Proxycurl Person Search and Person Profile APIs, with personal emails and extra profile fields enabled

  • Concurrency: asyncio and aiohttp, with profile lookups gathered in parallel

  • AI: OpenAI GPT-4o mini at a low temperature, with a constrained prompt and a tagged output block parsed by the tool

  • Templating: Jinja2 renders the AI-written template for each prospect with three variables

  • Output: Timestamped CSV export

  • Configuration: API keys and sender details kept in environment variables

Results

In two weeks, the prototype showed that the slowest parts of LinkedIn outreach could be automated end to end, from finding prospects to drafting the first message.

  • Hours of research in minutes. A list of matching prospects with contact details is generated in a single run.

  • Personal, not generic. Every email is written around the client's business and the prospect's likely challenge, and addressed to them by name.

  • Ready for the tools sales teams already use. The CSV output drops straight into spreadsheets, CRMs and email tools.

  • A clear path to a product. The prototype proved the idea, with obvious next steps such as more countries and industries, larger lists and a web interface.

Have a project like this?

Let's talk ↓
Next case studyBackups app for Contentful