Freight Forwarder Lead Generation: AI Finds Shippers, Drafts Emails

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Freight Forwarder Lead Generation: AI Finds Shippers, Drafts Emails.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Freight Forwarder Lead Generation: AI Finds Shippers, Drafts Emails.

A small freight forwarder can find shippers with AI by writing an ideal customer profile, using trade data and public sources to build a candidate list, asking AI to score each company against the profile, then sending short first emails that a person has checked for facts and email-rule compliance.

The shortcut that fails is asking a chat model to "give me 100 importers and their emails". It will produce confident names and contact details that do not exist. AI's job here is to organise, score and draft; verified sources supply the facts and a person decides who gets contacted.

Follow me on Instagram@sagnikteaches

Write the ideal customer profile as a scoring sheet

An ideal customer profile (ICP) is a description of the shippers you serve best. Most forwarders carry one in their head ("mid-sized importers with regular containers"). Turn it into a sheet with points, because AI can apply a score and a head cannot be copied.

Connect on LinkedInSagnik Bhattacharya

Start from the customers you already keep. List your ten best, by profit and ease, and write what they share. Remove names before you put them in any AI tool. Then ask the model to find the pattern.

Subscribe on YouTube@sagnikteaches
Below are anonymised descriptions of my ten best freight customers (columns:
industry, shipments per month, mode, main lanes, typical cargo, company size,
how they found us, why they stayed). Please:
1. Describe what they have in common in five bullet points.
2. Suggest a scoring sheet of 8 to 10 criteria worth 0-3 points each, with the
   total out of 25, that I could use to score new prospects.
3. Say which criteria need information I may not be able to get before the first
   contact, so I can mark them "unknown" rather than guess.
Do not invent facts about my customers.

A sample result (illustrative) might give criteria such as: ships on lanes we already run (0 to 3); regular volume, at least a container or four pallets a month (0 to 3); cargo type we handle without special permits (0 to 2); imports rather than exports (our strength), 0 to 2; evidence of a current forwarder who may be too big or too slow (0 to 2); decision-maker reachable by name (0 to 3); company size that fits us, not too small to ship regularly and not so large that they run a tender (0 to 3); and a 'start soon' signal such as new product launch or a new warehouse (0 to 2).

Edit the sheet yourself. Weight the criteria by what makes money, not what sounds good. If your margin comes from less-than-container loads on three lanes, give the lane criterion a bigger weight. Where you want help choosing those lanes from your own figures, margin by lane from a spreadsheet shows how.

The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

Where shippers can be found, and what each source tells you

SourceWhat it tells youWatch out for
Trade data from shipping records, such as ImportYeti or paid trade-data servicesWho ships, from which suppliers, how often and what cargo typeCoverage is partial and depends on the country and mode; names may be of the consignee, not the decision-maker
Trade-show exhibitor and attendee lists, association directoriesCompanies active in a sector, often with a named contactTerms on use of lists; some are for members only
Company websites and product pagesWhat they sell, where they say it is made, whether they importMarketing claims; verify with a second source
Job adverts (import coordinator, logistics manager, buyer)A company growing its shipping team or changing processAn ad may mean a bad forwarder, or none
Marketplace and online-store listingsSellers with physical goods that must move across bordersMany are tiny, or use a fulfilment service
News, press releases, funding announcementsNew launches, new warehouses, new marketsOld news; check the date
Your own enquiries, lost quotes and past customersWarm names you already knowOften the best list and the most neglected
Professional networksTitles and rolesCheck the platform's terms before collecting data in bulk

Trade data deserves a note. ImportYeti began as a free database of the bills of lading left by containers arriving in one country's ports, and its developer documentation now describes import and export records for two countries. That makes it useful if your lanes touch those countries and of little use otherwise; check what its free tier shows before you plan around it. Other countries publish different amounts, and paid services fill some gaps. Whatever you choose, read what it covers before you build a plan on it, and read its terms about reuse of the data. Apollo's pricing page, for example, says its plans are for internal use and that powering external products with its data needs a separate agreement.

For a broader tour of tools that find business prospects, see how to find B2B prospects with AI research tools and best AI lead generation tools; the rest of this page stays with sources a forwarder can check itself.

A five-person forwarder builds a list of 120 importers

This is an illustration with made-up figures, not a case study. Say a five-person forwarder specialises in sea freight for importers of furniture and homeware, with weekly consolidated containers on two lanes. It has capacity for about eight new regular shippers.

Day one: the profile. From its ten best customers, the forwarder writes a ten-criterion sheet, out of 25 points, and sets the cut-off at 15.

Day two: the long list. The owner searches a free trade-data tool for importers of furniture and homeware shipping on the two lanes in the last twelve months. She also reads two exhibitor lists from sector shows and pulls ten names from lost-quote emails. After removing duplicates she has 120 companies, entered in a sheet with these columns: company, website, source, cargo, lanes, shipping frequency, named contact, contact source, score, notes.

Day three: scoring. She pastes each company's row (not the contacts' personal details) into a chat model with the scoring sheet and asks for a score per criterion, showing the evidence in one line and marking "unknown" where the data does not say. Seventy companies score 15 or more. She reads the evidence lines for the top twenty and corrects four where the model has misread the cargo.

Day four: contacts. For the 70, she finds a named logistics or purchasing contact from the company's own website or from a business directory for 45 of them. The remaining 25 go on a "find the contact later" list.

Weeks one to four: outreach. She sends 11 or 12 first emails a week, all 45 within four weeks, each with a different opening line. Each prospect receives at most three emails. Suppose she gets seven replies, three conversations, two quote requests and, by the end of the second month, one booked shipment. Those figures are invented, but they show the shape: a few well-researched emails produce a few calls, and the sheet tells her which criteria predicted the replies.

After the first batch she looks at the scores of the replies. If those that replied were mainly the ones with a "current forwarder may be too large" flag, she raises that criterion's weight.

Prompt for scoring a prospect with its evidence

Score this prospect against my sheet. For each criterion give 0-3 (or 0-2 where the
sheet says so), a one-line reason that quotes the evidence I supplied, and
"unknown" if the evidence does not say. Do not use outside knowledge about the company.

Sheet: [paste the criteria and their maximums]
Prospect data:
- Company: [name]
- Website summary: imports solid-wood tables and shelving, sells to retail chains
- Trade data: 14 container shipments in the last 12 months, two origin ports, same destination port
- Job advert: hiring a logistics coordinator, posted 3 weeks ago
- Named contact: purchasing manager (from company site)

Return a table (criterion, score, evidence) and a total.

A sample reply: "Lanes we run: 3 (same origin and destination as our weekly consolidations). Volume: 3 (14 containers in 12 months). Cargo: 2 (solid-wood furniture, no permits mentioned). Decision-maker reachable: 2 (purchasing manager named, no email yet). Start-soon signal: 2 (hiring a logistics coordinator). Current forwarder: unknown." The "unknown" is a good sign; it shows the model respected the instruction.

Do the scoring in batches of 10 to 20 rows and check a sample. Models drift when a long list is pasted at once, and arithmetic across a column is best done in the spreadsheet itself.

The first email: what it contains and three openings

A first email from a small forwarder should be about 80 to 120 words, and have four parts: one line showing you know what they ship, one line saying what you do on that lane, one concrete offer, and one easy question. It should not describe your company history, list services or promise savings.

Ask AI for three variants of the opening, then pick one and rewrite it in your own words with a fact you have checked.

Write three versions of the first line of a cold email from a small freight forwarder
to the purchasing manager of an importer of solid-wood furniture.
Facts I can verify: they ship containers from [origin port] to [destination port]
regularly; they are advertising for a logistics coordinator.
Rules: no flattery, no claims about savings or speed, no questions that start with
"Are you tired of". Each version under 25 words.

Sample output (illustrative): "I saw you are hiring a logistics coordinator, so I expect your [origin port] to [destination port] bookings are keeping someone busy." Then the body:

Subject: [origin port] to [destination port] containers

Hello [first name],

I saw you are hiring a logistics coordinator, so I expect your [origin port] to
[destination port] bookings are keeping someone busy.

We are a small forwarder running a weekly consolidation on that lane and handle the
paperwork, booking and arrival updates for a small team of importers.

If you would find it useful, I can send a quote for your next shipment, using your
usual cargo and weight. Would it help if I did that?

[your name]
[company, address]

If you would rather not hear from us, reply "no thanks" and we will not write again.

Before and after: a version that opens "We are a leading, full-service global logistics provider with a passion for customer success" says nothing a prospect can check and could be sent to anyone. The version above is shorter, checkable and ends in a single question. Keep your service description to what a quote could cover. If a promise cannot be kept (for instance "lowest rates"), delete it.

For turning the replies that come back into quotes, AI freight quoting from customer emails picks up once a prospect asks for a price.

Follow-ups, and what to do with a reply

Plan two follow-ups, spaced about a week apart, each adding something new rather than saying "just checking in". The second email might offer a lane-specific note (a transit time you run, or the cut-off day for your weekly consolidation). The third is a short close: "I will assume the timing is not right. If it changes, reply and I will send a quote." Then stop.

When someone replies, answer within a working day. Keep a short bank of replies that you check once and reuse: what information you need for a quote (cargo, weight, volume, origin and destination, incoterms, ready date), what you do and do not handle, and how to pass the contact to a colleague. Ask AI to draft them, then read each carefully.

When the answer is a refusal ("we have a forwarder"), log it with the date, the reason and a review date six months on. Old refusals are often the best lead after a bad season.

Email rules and platform terms: what a person must check

Cold email to business contacts is allowed in many places and restricted in others. The details vary, so build a short checklist that a person reviews for each batch.

  1. Who you are. A real sender name and a postal address or registered business details, in the footer.
  2. Honest subject lines. No false urgency and no pretending to be a reply to an earlier conversation.
  3. A working way to opt out, honoured promptly. Keep a suppression list and check every new batch against it.
  4. The right to contact them. Some places need consent or a documented legitimate interest even for business email, particularly for personal addresses. If you have prospects in the EU, ask an adviser how data-protection law applies and record the basis you rely on.
  5. Data source terms. Check what your directory, data tool or professional network lets you do with names and emails.
  6. Sensitive sectors. If a shipper deals in controlled goods or sanctioned destinations, a person must decide whether you take the enquiry at all.

Record the source and date of each contact in the sheet. That record is what you show if a recipient asks how you found them, and it is a sensible habit even where no one asks.

Reusing past enquiries: the warmest list you own

Before you buy any data, mine your own inbox. Most small forwarders hold dozens of quote requests that never became bookings, and each says which cargo, which lanes and roughly when. Export the subject lines, dates and the sender's company (not message bodies containing prices) into a sheet and ask a model to group them: by lane, by cargo type, by month and by whether a quote was sent. A sample finding (illustrative): "Of 38 lost enquiries, 21 are for the same origin region, 12 were quoted but never answered, and 9 came in the two weeks before a major holiday."

Now write each group a different first line. For the 12 that never answered a quote, a short, honest message works: "I sent you a quote on [date] for [cargo] and did not hear back; if the shipment is still on, I can refresh the rate in a day." That is a follow-up on a real conversation, not a cold email, and it should reach a person who already asked for something. Check your local rules anyway, since a quote request is not always consent to later marketing.

A second pass: list customers who stopped shipping in the last year, note the last shipment date, and ask what changed. The reason is often a price or service moment you can fix, and it costs only an email from the owner.

How AI prospecting goes wrong for a forwarder

  • Invented contacts. A model asked for "the logistics manager at [company]" may produce a name and an email pattern. Neither is evidence. Use only contacts from a source you can name.
  • Misreading who the shipper is. Trade data shows the consignee or the notified party, who may be a forwarder or a customs broker rather than the importer. Check the company's own site before you score it.
  • Outdated records. A company that shipped heavily two years ago may have moved production. Look at the last twelve months and note the date range.
  • False personalisation. "I loved your recent post" written by a model and sent to forty people is obvious, and wrong if the post does not exist. Use only a fact you have seen.
  • Burning the sending address. Sending hundreds of emails from a new domain can land your messages in spam. Warm up slowly, keep to small batches and watch bounces.
  • Chasing the wrong size. A global brand with a tender process will not answer a small forwarder. The scoring sheet should penalise it.
  • No follow-through. If a lead replies and nobody answers for a week, the list-building was wasted. Match the volume to the capacity to reply.

Treat any claim an AI makes about a prospect as a hypothesis until a source you can name supports it, and write the source in the sheet.

A weekly routine and what it costs

A routine that a small team can keep up is worth more than a clever system that lapses. A workable week:

  1. Monday, 30 minutes: add 20 to 40 new names from one source; remove duplicates and anyone on the suppression list.
  2. Tuesday, 30 minutes: score them with the sheet, check a sample of the evidence lines and decide the top ten to contact.
  3. Wednesday, 30 minutes: find or confirm contacts, write the opening lines and send the first emails.
  4. Thursday, 20 minutes: send follow-ups to last week's and the week before's contacts.
  5. Friday, 15 minutes: log replies, update the sheet and note what to change in the criteria.

That is about two hours a week. The money cost is a chat subscription you may already have (a plan of around $20 a month, such as Claude Pro billed monthly, is usually enough at this volume), any trade-data service you choose, and a sending tool if you use one. Apollo, for example, offers a free plan whose email connections are limited to Gmail, plus paid plans priced per seat per month, with credits that expire at the end of each billing cycle; check its page for current prices before budgeting. A spreadsheet and a business email address are enough to begin.

Compare the time with the alternatives: AI lead generation versus hiring a salesperson sets out the sums for a general small business. For a forwarder, one regular shipper worth a few hundred dollars of profit a month pays for a good deal of prospecting time, which is why the quality of the first twenty names matters more than the number of emails.

Measuring whether it works

Four numbers tell you what to change: contacts emailed, replies, calls held and quotes sent. Compare them with the score of each prospect. If high-scoring prospects reply more, your sheet works; if scores make no difference, the criteria need rethinking. If replies are good but quotes do not follow, the problem is in the quote, not the list.

Review monthly. Drop sources that gave nothing, double up on those that gave replies and re-run the pattern prompt on the customers you have won since you started. If you would like a hand shaping the profile and the routine for your own lanes, that is the kind of work my AI implementation consultation covers, and you can reach me on the contact page.

Questions small forwarders ask about prospecting with AI

Can AI find shippers' contact details for me?

It can suggest where to look, but never trust an email address or name it produces from memory, because models invent plausible ones. Use a verified source such as the company's own site, a business directory or a data tool, and have a person confirm each contact before it goes on the list.

Is trade data enough to find a good lead?

It shows who ships, roughly what and how often, which is a strong starting signal. It does not show who decides on freight, whether they are happy with their forwarder or what they will pay. Treat it as a reason to research and reach out, then confirm with the contact.

How many emails should I send a week?

Start small, around 20 to 40 well-matched prospects a week, and watch bounces and replies before raising it. A small, targeted list protects your sending reputation and gives you replies you can answer properly. Volume is rarely the limit for a small forwarder; follow-up quality is.

Do cold emails to businesses need consent?

It depends on where the recipient is. Some places allow business-to-business cold email with an honest sender, a clear subject and a working opt-out. Others require prior consent or a documented legitimate interest. Check the rules for each place you will email, and keep a suppression list.

Should AI write the whole email?

Let it draft, then rewrite the opening line yourself using one fact you have checked about the prospect. A short email that shows you looked at their shipping beats a polished one that could go to anyone. Never claim a result, rate or relationship you cannot support.

Further reads

Sources: ImportYeti about page and developer documentation (origin as a free bill-of-lading database; import and export records for two countries), Apollo pricing page (internal-use clause, Gmail-only free plan, per-seat pricing, credits expire each billing cycle), Claude pricing page (Pro $20 a month), all read 5 November 2026; general email-compliance practice. Check your own recipients' rules and every data source's terms.

Want a shipper target list you can actually use?

On a 1:1 call we'll define the shippers worth chasing for your lanes, pick a data source you can afford and set up a weekly routine that a small team can keep up.

Book a 1:1 call with me