- Home
- Case studies
- A database of German HVAC installers built from scratch for export sales
A database of German HVAC installers built from scratch for export sales
More than 580 verified German B2B companies, delivered in batches within a few days, with email addresses, registry details, and a fit score.
4 min read
- Client
- B2B HVAC distributor
- Industry
- B2B distribution / Export / E-commerce
- Scope
- AI sales agents & lead generation
- Delivery time
- a few days
Who the client was and what was getting in the way
The client is a Polish B2B distributor in the HVAC industry, selling air-conditioning installation accessories. It was doing well domestically and wanted to take the same product range into German-speaking markets. Export sales already existed, but they happened by chance: someone found an offer, bought once, and disappeared. There was no repeat customer base and no repeatable way to find one.
The buyer we were looking for was very specific: a small or midsize air-conditioning installer that also sells online, either through its own store or an account on a large marketplace. Large wholesalers were out because they have their own purchasing channels. One-person installation crews without online sales were out too because they buy in quantities that are too small. Finding this narrow segment required more than typing an industry into a company directory.
Data quality was another concern. A salesperson who receives a list full of dead email addresses will stop trusting it after two days and go back to their own methods. Without verifying email addresses and company registry numbers, all the work would be wasted. The final issue was technical: the same businesses appear across several channels, with their own store and an account on a marketplace, so they showed up more than once under different names.
What we built
We started with a detailed buyer profile, including German-language search terms because those determine whether we find the right companies at all. We added a simple A, B, or C scoring rubric so every company we found had a clear fit label, not just a row in a spreadsheet.
We used Python to collect and merge the data. Some companies came from marketplace APIs; others came from controlled data collection from German online stores. We then deduplicated the records and removed businesses that formally sell into the market but ship from elsewhere, making them irrelevant to the client.
The next layer covered enrichment and verification. We added company-registry details, including VAT numbers, and checked email addresses, including named contacts, so messages would reach a real recipient. For each company, we added a reason to get in touch and a ready-to-use opening paragraph based on what that specific company sells. Everything went into a spreadsheet, and the process ran on a dedicated host on a recurring schedule.
We delivered the data in batches. First came a free sample so the client could see the records and check whether our interpretation of the ideal customer was right. After approval, we delivered further batches of several hundred verified companies.
How it works today
The export salesperson opens the spreadsheet and sees each companyβs sales channel, registry details, contact email, fit score, and reason it is worth getting in touch. There is no need to guess whether they have found a wholesaler or a one-person installation crew. Their work starts with writing an email, not searching for someone to contact.
The whole delivery was completed within a few days. That was a deliberate choice: instead of building a tool for the client to search with, we delivered ready-to-use, verified data in batches the team could start calling right away.
The outcome
The client received more than 580 verified B2B companies from the German market. 94% have an email address, and 516 companies have a verified VAT number (USt-IdNr). Every record has an A, B, or C fit score, so the order for contacting companies is clear before the first call.
More important than the number itself, export sales are no longer a lottery. The team knows who the customer is, where to find them, and what a good lead looks like.
What we would do differently
We underestimated deduplication. Merging by company name seemed reasonable until we found the same business on a marketplace under its store name and on its own website under its registered name. Next time, from day one we will merge by registry number and domain, treating the name as a label only.
The second lesson is to separate general inboxes from named contacts. We did that too late, even though they are very different kinds of leads: a message to a general inbox and one to a specific person need different copy and different expectations for a reply. The third concerns the sample. We showed it to the client after building the first full batch, but should have done so after the first few dozen records. Earlier feedback on the ideal customer profile would have saved us a full verification pass.
Related projects
How a consulting firm got a weekly list of companies showing fresh buying signals
Instead of manually checking the press and public registers, the sales team starts Monday with a ready-made list of companies, each lead scored and assigned an owner.
An agent that reads LinkedIn comments and finds people with a real need
A software company reclaimed 10β15 hours a week. Its agent monitors industry leadersβ posts around the clock and filters out 98% of the noise before anyone sends a message.