# Lead Generation for Software Development Companies: A LinkedIn Outbound Playbook

Software development lead generation on LinkedIn – find accounts with open engineering roles, reach the CTO, and let an AI agent draft each touch.

Lead generation for software development companies usually starts the same way: the first projects came from your network, referrals slowed down, and now the team needs a pipeline it can control. This guide is for software development and IT services firms in that position. It covers the LinkedIn outbound half of client acquisition – which accounts to pick, when to reach out, who to contact, what to send and how to turn a reply into a qualified project – and how an AI agent or a short script can do the research for you.

> **The short version.** If your work has come from referrals, keep working past clients and your network – and add LinkedIn outbound as the part of the pipeline you control. Run it as a weekly loop: pick sectors where you have case studies, find accounts with a reason to talk now, check that an external team could actually fit, send the engineering leader a short note tied to a matching case study, follow up once, and stop when they reply. Count qualified projects, not messages. An AI agent can do the research and draft every touch; you approve what goes out.

## Where software development companies get clients

| Channel | What it needs | What LinkedIn adds |
| --- | --- | --- |
| **Referrals and past clients** | Delivered projects, people who remember you | See when past contacts move to a new company |
| **Directories and review sites** (Clutch, GoodFirms) | Reviews, a complete profile, often a paid placement | Nothing directly – these run on their own platforms |
| **Partnerships** (agencies, consultancies, VCs) | A clear specialism others can refer to | Find partner firms and their founders |
| **Content and search** | Case studies and articles that answer buyers' questions | Distribution for the same case studies |
| **LinkedIn outbound** | A target list, a reason to talk, a matching case study | Company and job search, the engineering buyer, warm paths |
| **Cold email** | Verified addresses and a sending setup | The research that makes the email specific |

Referrals carry a lot of weight in services businesses. Hinge's [2026 High Growth Study](https://hingemarketing.com/about-hinge/news-events/news/article/hinge-announces-the-launch-of-the-2026-high-growth-study-executive-summary) reports that "leads from referrals and direct human outreach account for nearly two-thirds of all new business" across professional services firms – a figure for the whole sector, and the release does not give a sample size. Demand for outside developers is real: in [Deloitte's Global Outsourcing Survey 2024](https://www.deloitte.com/content/dam/assets-shared/docs/services/consulting/2025/global-outsourcing-survey-2024.pdf) of more than 500 business and technology leaders, 72% outsource application or software development.

## The weekly LinkedIn outbound loop

1. **[Pick the sectors and company sizes where you have proof.](#pick-the-sectors-and-company-sizes-where-you-have-proof)**
2. **[Find accounts](#how-to-find-accounts-on-linkedin)** that match them.
3. **[Look for a reason to talk now](#signals-that-a-company-may-need-developers-and-what-they-don-t-prove)** – open engineering roles, a new technology leader, a past contact at a new company.
4. **[Find the engineering buyer](#who-to-contact-the-engineering-buyer-not-the-hr-team)** at each account.
5. **[Check outsourcing fit](#check-outsourcing-fit-before-you-write)** before writing a word.
6. **[Send a short note and one follow-up](#what-to-send-a-connection-note-and-one-follow-up)**, then stop on reply.
7. **[Qualify the reply](#turn-a-reply-into-a-qualified-project)** and **[measure](#how-to-measure-software-development-lead-generation)** what turned into projects.

## Pick the sectors and company sizes where you have proof

Start from your delivered work, not from the market. A cold message works when it can point to a project like the buyer's own; without one, it is a generic pitch.

| Company size | Who usually signs | What they tend to buy | Your proof |
| --- | --- | --- | --- |
| Startup (1–50) | Founder or CTO | An MVP, a dedicated team | A product you took from zero to launch |
| Scale-up (51–500) | CTO, VP Engineering, Head of Product | Team extension in a stack | A team you embedded, in their stack |
| Mid-market (500+) | VP Engineering, IT director | Modernisation, integrations | A migration or integration you delivered |

*This is a starting map from common practice, not a rule – at some companies procurement or the CEO signs.*

The rule that matters: only target sectors where you can show a case study. When you filter by industry, use LinkedIn's exact labels – "Software Development", "Financial Services", "Hospitals and Health Care" – from our [LinkedIn industry list](/guides/linkedin-industry-list).

## How to find accounts on LinkedIn

| Filter | Standard LinkedIn search | Sales Navigator |
| --- | --- | --- |
| Industry | Yes, by LinkedIn's industry labels | Yes |
| Company headcount | Yes, in bands (11–50, 51–200…) | Yes, plus headcount growth |
| Location | Yes | Yes, by headquarters |
| Annual revenue | – | Yes |

Build the search around the sectors and sizes above, add a keyword (company searches need one), and save the result as your account list. Our [advanced search guide](/guides/linkedin-advanced-search) covers which filters each LinkedIn plan offers; the [company search docs](/docs/searching-for-companies) show the same search through the API.

## Signals that a company may need developers – and what they don't prove

- **Open engineering roles.**
  - Search jobs by role, location and date posted, then open each job: the description shows the stack, the seniority and whether the role is a contract.
  - The job links to its company, so you can move from roles to the account. Linked API's job result does not include a hiring-team field, so find the engineering buyer through the company, below.
  - Several roles open at once, contract roles and a role posted again are reasons to look closer.
  - The mechanics of job search are in our [LinkedIn jobs guide](/guides/linkedin-jobs-scraper).
- **A new technology leader.** A new CTO or VP Engineering often reviews how the team builds and who it works with. Sales Navigator's alerts include "A company hired a senior decision maker" for accounts you save; Linked API reads the alerts currently in that feed.
- **A past contact at a new company.** People you delivered for take your name with them. Re-check where your past client contacts work now; a move is a warm reason to say hello.
- **Headcount growth.** Sales Navigator's headcount-growth filter finds accounts adding staff fast.

None of these proves that a company wants an outside team. As 100signals puts it in its own guide, "The posting does not establish a need for outsourcing." A company hiring React developers may be growing its own team, replacing someone or preparing a build it will run in-house. Treat every signal as a reason to research, then let the fit check below decide. Deloitte's survey gives the context: "Access to talent has emerged as the number-one driver influencing outsourcing decisions." For the full list of signals and how to collect them, see [LinkedIn buying signals](/guides/linkedin-buying-signals).

## Who to contact: the engineering buyer, not the HR team

The recruiter who posted a role is not your buyer. Use the size table above to choose the title – founder or CTO at a startup, CTO or VP Engineering at a scale-up, VP Engineering or IT director in the mid-market – and find that person through the company's employee list, filtered by title.

Two practical notes:

- **Seniority lists rank founders and C-level first.** That is right for a startup, and wrong for a 500-person company where the VP Engineering owns delivery. Filter employees by the title you want instead.
- **Look for warm paths.** A 1st-degree connection, a shared connection or a former colleague at the account beats a cold note every time.

When several people shape the decision, our [B2B buying committee guide](/guides/b2b-buying-committee) covers mapping and reaching them; [account-based selling](/guides/account-based-selling) covers tiering accounts and running plays.

## Check outsourcing fit before you write

Before any message, check the account against your delivery model:

- [ ] **A matching case study** in their sector or their stack.
- [ ] **A stack you deliver** – the job descriptions tell you what they use.
- [ ] **A size and budget band you serve.**
- [ ] **Signs they work with external teams** – contract roles, an agency named in a job description, a partners page.
- [ ] **Timezone and language fit** for the way you deliver.

Exclude an account only on an explicit refusal of vendors or outsourcing ("no agencies") or a known mismatch with how you deliver. On-site or full-time wording describes that vacancy, not the company's view of external teams. No fit, no message.

## What to send: a connection note and one follow-up

Keep the note short, specific and free of a pitch. Each example below stays under LinkedIn's 200-character note limit:

> Hi Anna – saw the three React roles at Finlo. We built the onboarding app for Payd, a fintech at a similar stage. Happy to share what we learned scaling it.

> Hi Marc – congrats on the CTO role at Routely. We rebuilt dispatch for a logistics firm moving off a legacy stack last year. Would a short case study help?

> Hi Priya – we worked together when I delivered the Kora portal. Saw you're at Medly now. Would be good to stay in touch.

After they accept, send one follow-up with a concrete, low-effort offer – a 20-minute scoping call, or a short technical audit of the area their open roles point to. If there is no reply, stop there.

Two facts to plan around:

- **Free accounts have a monthly note allowance.** LinkedIn Help says "You can add a personalized message to up to three connection requests per month", each up to 200 characters ([LinkedIn Help](https://www.linkedin.com/help/linkedin/answer/a563153)). Premium removes that cap. Spend the notes where the case-study match is strongest; more scenarios are in our [connection request message guide](/guides/linkedin-connection-request-message).
- **Benchmarks are only a reference.** Expandi's IT benchmark, based on 1,731,259 connection requests sent by 1,825 information technology and services accounts between May 2025 and April 2026, reports 28.4% acceptance and a 10.5% reply rate after acceptance. That is one vendor's data on its own users: your numbers will differ, so measure your own.

For post-acceptance message templates and follow-up timing, see our [cold outreach guide](/guides/linkedin-cold-outreach-strategies-2026).

## Turn a reply into a qualified project

A reply is interest, not an opportunity. On the first call, establish:

- [ ] **The business problem** and the outcome they want.
- [ ] **The delivery scope** – a new build, team extension, modernisation or an integration.
- [ ] **Whether they will use an external team** for it.
- [ ] **A budget band and the timing.**
- [ ] **Who approves** the engagement.
- [ ] **One dated next step**, recorded in your CRM.

Count a **qualified opportunity** only when the problem, a scope you deliver, openness to an external team, a plausible budget and timing, and the approver are known – with a dated next step. 100signals draws the same line in its guide between a contact's interest and a real external-development opportunity.

## Let an AI agent run the research – you approve every message

The research is the slow part, and it is the part an AI agent does well. Connect Claude, Cursor or another MCP client to the Linked API [MCP server](/mcp/overview), or give Claude Code or Codex the agent-friendly [CLI](/cli/getting-started), and here is what one research run looks like:

**You:** Find companies in Germany hiring senior React or Node developers, posted in the last month. For each company, list the open roles with their descriptions, the CTO or VP Engineering, and anyone I'm connected to there. Draft a connection note for each buyer that ties our Payd case study to their roles, under 200 characters. Don't send anything – show me the drafts.

**Agent** (used Linked API: search_jobs, fetch_job ×23, fetch_company ×9):
- 23 jobs in Germany, posted in the past month
- job descriptions: stack, seniority, contract wording
- the CTO or VP Engineering at each company, and your 1st-degree connections there
- 7 notes drafted; 2 accounts held with no matching case study

Here are the accounts worth a note. Nothing has been sent.

| Company | Open roles (from job descriptions) | Buyer | Warm path | Draft note |
| --- | --- | --- | --- | --- |
| Finlo | 3 × Senior React (contract, fintech onboarding) | Anna K., CTO | 2nd degree via a former colleague | "Hi Anna – saw the three React roles…" |
| Routely | 1 × Node lead (full-time) | Marc D., VP Engineering | – | Hold: no matching case study |

*The agent waits for your go-ahead.*

*Example run. Works the same in Claude, ChatGPT, Cursor or Claude Code through the MCP server or the CLI.*

You review the packet, check fit, edit or reject each draft, and only then ask the agent to send. The approval step is something you ask the agent for – Linked API sends what it is told to – so keep "show me first" in the prompt. To stop the sequence on a reply, the agent or your code checks the inbox before each follow-up; Linked API's [inbox monitoring](/docs/monitoring-inbox) reports new messages as they arrive.

A few boundaries to know:

- The ready-made [LinkedIn growth skill](/skills/linkedin-growth) sends invitations without a note, and the ready-made skills don't search jobs. For job research and personalised notes, use the MCP server, the CLI or the SDKs directly.
- In the CLI, a list-flag value that contains a comma – a location such as "Austin, Texas" or an industry such as "Technology, Information and Internet" – goes in as a JSON array, for example `--locations '["Austin, Texas"]'`; a plain comma-separated value would split it. The jobs search `--location` flag takes a comma-containing location as it is.
- No route supplies email addresses, Clutch or Upwork data, or intent data. The research is what your own LinkedIn account can see.

More agent workflows for sales are in our [LinkedIn AI agent guide](/guides/linkedin-ai-agent).

## Build the research step into your own tools

Developers can run the same steps from their own code or pipeline: [job search](/docs/action-st-search-jobs), [opening each job](/docs/action-st-open-job) for the company link and description, and [company employees](/docs/action-st-retrieve-company-employees) filtered by the buyer's title, through the REST API, the Node and Python [SDKs](/sdks/installation) or the shell [CLI](/cli/getting-started). Approved notes go out with [`sendConnectionRequest`](/docs/action-st-send-connection-request) at a human pace, inside the per-account [limits](/docs/admin-limits) you set, and the [inbox webhook](/docs/monitoring-inbox) tells your code when someone replies. Finding new postings on a schedule is covered in the [LinkedIn jobs guide](/guides/linkedin-jobs-scraper); the same job-to-people step for recruitment agencies is in [recruitment business development](/guides/recruitment-business-development).

## How to measure software development lead generation

| Metric | What it tells you |
| --- | --- |
| Acceptance rate | Whether your targeting and note make sense to the buyer |
| Reply rate after acceptance | Whether the follow-up offer is worth answering |
| Meetings booked | Whether replies turn into conversations |
| **Qualified opportunities** | Replies that meet the checklist above – the number that matters |
| Proposals and wins | Whether outbound produces projects, not just calls |
| Source of each won project | How outbound compares with referrals and inbound |

Measure against your own baseline from the first few weeks, not against someone else's benchmark, and change one thing at a time – the sector, the signal, the note or the offer.

## Keep your LinkedIn account in good standing

Outreach on LinkedIn runs inside LinkedIn's rules. Its [Professional Community Policies](https://www.linkedin.com/legal/professional-community-policies) say: "Do not use our invitation feature to send promotional messages to people you don't know or to otherwise spam people." Research properly, write to people with a real reason, and keep a human pace. LinkedIn does not publish a weekly invitation number; if you hit its limit, "this restriction typically lasts one week" ([LinkedIn Help](https://www.linkedin.com/help/linkedin/answer/a550555)). Linked API runs your own account in a real, dedicated cloud browser – LinkedIn's own pages, at a human pace, within the [limits](/docs/admin-limits) you set – and never stores your password. Like any automation, it carries some risk, which is why volume and pace matter more than the tool.

## Frequently Asked Questions (FAQ)

#### How do software development companies get clients?

Mostly through referrals and past clients at first, then through partnerships, directories such as Clutch, content, and outbound. LinkedIn outbound is the channel a firm controls directly: pick accounts where you have proof, reach the engineering buyer with a specific reason, and qualify replies into projects.

#### Does LinkedIn outreach work for software development companies?

It works when it is specific: a sector where you have a case study, a reason to talk now, and a short note to the person who owns delivery. Generic pitches to everyone with "CTO" in their title rarely do. Measure qualified opportunities, not messages sent.

#### Who should I contact at a target company?

The person who owns engineering delivery: the founder or CTO at a startup, the CTO or VP Engineering at a scale-up, and the VP Engineering or IT director at a larger company. The recruiter who posted a role is not the buyer.

#### Are companies hiring developers good leads for outsourcing?

They are worth researching, not a sure thing. Open roles show that a company is building, but a company may be growing its own team rather than looking for an outside one. Check the job descriptions, signs of external teams and your case-study match before you reach out.

#### How many companies should a software firm contact each week?

As many as you can research properly. The limit is the quality of the fit check and the note, not a target number – and your LinkedIn account's own limits apply too.

#### Can an AI agent do lead generation for a software company?

It can do the research and the drafting. Through Linked API's MCP server or CLI, an agent searches companies and jobs, finds the engineering buyers and drafts notes for you to approve. You decide who gets a message and what it says, and you qualify the replies.

## Build it in, or hand it to an agent

Build the research and outreach steps into your own CRM or pipeline with the REST API, the Node and Python [SDKs](/sdks/installation) or the shell [CLI](/cli/getting-started). Or let an AI agent run them out of the box through the [MCP server](/mcp/overview), the agent-friendly CLI or a ready-made [skill](/skills), on your own LinkedIn account. Plans are flat per seat, from $49/mo billed annually – see [pricing](/pricing).

*Facts verified 4 November 2026 – survey figures checked against Hinge's and Deloitte's published releases, the Expandi benchmark and 100signals' guide against their live pages, and LinkedIn limits against LinkedIn Help, on that date.*
