Pre-Black Friday: 20% off, for as long as you stayEARLYBFon Solo and AgencyEnds Nov 28Start free

How-to guide

How to Build a B2B Lead List for Automotive (Suppliers, Dealer Groups and OEM Contacts)

Find the buying committee, size the list with a free count, and pull only the rows you will email.

Get your free API key →Free to start. No credit card. 1,000 records to spend whenever you like.

Automotive deals go through a committee. Pick the segment, map the committee to filters, count it for free, then pull only the rows you will email.

TL;DR

  • Automotive is a committee sale. Target the budget owner, the technical evaluator and procurement at once, not one title.
  • Size the list first with a free count, then pull a 100-row sample. The whole recipe takes about 25 minutes and spends 100 records at most.
  • On 2026-10-21 the free count found 15,318 mailable VPs and C-level people in Automotive in the US, across 4,219 employers.

Prerequisites

  • A LeadOcean account. The Free plan gives 1,000 records for life, no card, 5 requests a second. Sign up at app.leadocean.io.
  • An API key stored as $LEADOCEAN_API_KEY.
  • curl and jq, or any HTTP client. Optional: the hosted MCP server at https://api.leadocean.io/mcp if you work from Claude.

Base URL is https://api.leadocean.io. Every request carries the header x-api-key.

Step 1: Pick the buying committee

Automotive is not one market. A Tier 1 parts supplier, a dealer group and an EV startup have different committees. Pick your segment before you pick titles.

Most B2B deals here touch the same four roles:

  • Budget owner. VP or C-level in the function you sell into. For software that is often operations, IT or sales.
  • Technical evaluator. A director of engineering, quality or IT who runs the pilot.
  • Procurement. Purchasing and supply chain titles. In automotive they carry a veto, because supplier approval is formal.
  • Executive sponsor. A COO, general manager or president, on larger deals.

Write the committee down as filter sets before you query anything:

yaml
budget_owner:   { jobLevel: [VP, C-Team], jobFunction: [Sales & Business Development] }
evaluator:      { jobLevel: [Director, VP, C-Team], jobFunction: [Engineering] }
procurement:    { title: [procurement, purchasing, supply chain] }
sponsor:        { seniority: [c_suite] }

One data note from our own counts. The industry field Automotive holds people whose job function is filed as Sales, Engineering or General Business far more often than Purchasing. On 2026-10-21 a jobFunction of Purchasing at director level and above returned 0 in this industry. Procurement people are still there. They show up under their titles, so search the title, not the function (Step 4).

Step 2: Resolve the industry value

Filter values are exact strings. Check them before you guess. The industry list has 534 values and several touch automotive.

bash
for q in automotive "motor vehicle" vehicle; do
  curl -s -G "https://api.leadocean.io/v1/enums/industry" --data-urlencode "q=$q" \
    -H "x-api-key: $LEADOCEAN_API_KEY" | jq -r '.data.values[]'
done

In Claude with the MCP server connected, the free tool does the same job.

code
leadocean_list_enum_values({ name: "industry", q: "motor vehicle" })

Useful values follow.

  • Automotive
  • Motor Vehicle Manufacturing
  • Motor Vehicle Parts Manufacturing
  • Retail Motor Vehicles
  • Vehicle Repair and Maintenance
  • Wholesale Motor Vehicles and Parts

Pick by who you sell to. Suppliers sit in the parts and manufacturing values. Dealer groups sit in Retail Motor Vehicles.

Step 3: Size the company list for free

Count companies before people. A company count is free and tells you whether the segment is worth an outbound motion.

bash
curl -s "https://api.leadocean.io/v1/companies/count" \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  -G --data-urlencode "industry=Automotive" \
  --data-urlencode "hqCountry=US" \
  --data-urlencode "employeeRange=201-500" \
  --data-urlencode "employeeRange=501-1000" \
  --data-urlencode "employeeRange=1001-5000"

The same call as an MCP tool: leadocean_count_companies. It spends no records, and it returns a breakdown by HQ state and NAICS code, so you can see where the segment clusters.

Step 4: Build the people filter

Search takes a flat JSON body. Filters are arrays. Combine a seniority cut with a title cut so you catch procurement, which the job function misses.

bash
curl -s -X POST "https://api.leadocean.io/v1/people/search?count=true" \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "industry": ["Automotive"],
    "country": ["US"],
    "title": ["procurement", "purchasing", "supply chain"],
    "limit": 1
  }'

The count=true query parameter makes this a free sizing call. meta.total comes back capped at 100,000, and data is empty. Build one filter per committee role:

RoleFilter
Budget ownerjobLevel: ["VP", "C-Team"], jobFunction: ["Sales & Business Development"]
Technical evaluatorjobLevel: ["Director", "VP", "C-Team"], jobFunction: ["Engineering"]
Procurementtitle: ["procurement", "purchasing", "supply chain"]
Executive sponsorseniority: ["c_suite"]

Enum values are case-exact: C-Team, VP, Director. Seniority is lowercase.

Step 5: Pull a sample and check email status

Spend a small number of records to check quality before a bulk pull. Page size is 1 to 100 and pagination uses cursor.

bash
curl -s -X POST "https://api.leadocean.io/v1/people/search" \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "industry": ["Automotive"],
    "country": ["US"],
    "jobLevel": ["VP", "C-Team"],
    "emailStatus": ["verified", "catch_all_valid"],
    "limit": 100
  }' | jq '.data | length, (.[0] | keys)'

This spends up to 100 records. Read email_status on every row before you send. LeadOcean does not refund bounces, so filter on verified for the first wave and treat catch_all as a second wave.

One search pages to 10,000 rows. If meta.depthCapped is true, narrow the filters instead of walking further. Add employeeRange or a state.

Step 6: Export the rows you will email

For lists above a sample, use an export. It takes up to 50,000 rows a request and 500,000 a day. Bulk CSV export is not on the Free plan.

bash
curl -s -X POST "https://api.leadocean.io/v1/exports" \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "automotive-us-vp",
    "filters": {
      "industry": ["Automotive"],
      "country": ["US"],
      "jobLevel": ["VP", "C-Team"],
      "emailStatus": ["verified"]
    },
    "limit": 5000
  }'

You can also do this in the app at app.leadocean.io: the Exports page has a filter builder, a column picker, the record price before you start, and a CSV download. It is not a sequencer. Load the CSV into the tool you already send from.

Step 7: Match the message to the role

Messaging angles that fit this industry, one per role:

  • Budget owner. Lead with margin and uptime. Plants and dealer groups run on thin margins. Name a cost you remove.
  • Technical evaluator. Lead with integration and a pilot. They need to know it works with their ERP, DMS or MES before they care about price.
  • Procurement. Lead with supplier paperwork. Say what you can provide and how fast. Do not pitch benefits to this person.
  • Executive sponsor. Two sentences. One outcome, one proof point you can show.

Keep claims you can back. Do not name a customer you have not cleared.

Reach three roles in the same account within two weeks. Start with the technical evaluator, because their pull moves the deal. Write to the budget owner second, with the evaluator's problem stated in business terms. Send procurement the supplier paperwork only after the first call is booked.

Keep each email under 90 words. One ask per email. Never paste the same template to all three roles.

Step 8: Build one list per segment

Run the steps above once per segment. Do not mix them in one sequence.

json
{
  "suppliers":    { "industry": ["Motor Vehicle Parts Manufacturing", "Automotive"] },
  "dealer_groups": { "industry": ["Retail Motor Vehicles"] },
  "oem_and_ev":   { "industry": ["Motor Vehicle Manufacturing", "Alternative Fuel Vehicle Manufacturing"] }
}

Tier 1 and Tier 2 suppliers. Use Motor Vehicle Parts Manufacturing and Automotive. Buyers are plant, quality and engineering leaders. Michigan, South Carolina and Ohio cluster here, so add a state or country filter and write to the plant, not the head office.

Dealer groups. Use Retail Motor Vehicles. Buyers are group operations, finance and marketing leaders. Headcount per store is small, so filter on the group's headcount and ignore single-rooftop owners unless you sell to them.

OEM and EV companies. Use Motor Vehicle Manufacturing and Alternative Fuel Vehicle Manufacturing. The list is short and the deals are long. Treat it as account-based: count the companies, then pull the committee for each one with GET /v1/companies/{domain}/people.

Re-run the free count monthly, since the dataset refreshes monthly. If the total drops, people changed jobs. Re-pull the accounts you are working and drop anyone whose title no longer matches your filter.

Person enrich returns career history too: past roles, education and certifications. Use it to open with a real detail, such as a past employer the person shares with your customer base.

What you get

Free counts run on 2026-10-21 with the MCP tools leadocean_count_leads and leadocean_count_companies. All figures are mailable people (verified, catch_all_valid or catch_all) unless the row says otherwise.

FilterResult
Companies: industry Automotive, HQ US, 201 to 5,000 employees767 companies
People: Automotive, US, VP or C-Team15,318 mailable (47,969 with no email filter), 4,219 employers
People: Automotive, US, Director/VP/C-Team, Sales & Business Development1,292 mailable, 514 employers
People: Automotive, US, Director/VP/C-Team, Engineering206 mailable, 132 employers
People: Automotive, US, title contains procurement, purchasing or supply chain945 mailable, 280 employers
People: Automotive, US, Director/VP/C-Team, jobFunction Purchasing0

The state breakdown for the 767 companies put Michigan first (89), then South Carolina (82), California (55), Pennsylvania (45) and Ohio (41).

Response shape from the API reference, placeholder values only:

json
{
  "success": true,
  "data": [
    {
      "profile_data": {
        "profile_full_name": "Jane Doe",
        "profile_headline": "VP Operations at Acme"
      },
      "contact_data": {
        "has_email": true,
        "email_status": "verified",
        "contact_current_experiences": [{
          "job_title": "VP Operations",
          "company_name": "Acme",
          "company_domain": "acme.com"
        }]
      }
    }
  ],
  "meta": { "count": 1, "limit": 100, "credits": 1, "nextCursor": "CURSOR" }
}

Troubleshooting

ErrorCauseFix
401Missing or wrong x-api-keyCheck $LEADOCEAN_API_KEY is exported and sent as the x-api-key header.
429Above the plan's rate limit (5 a second on Free, 200 on Agency)Back off and honor Retry-After.
402Out of records on the Free planThe 1,000 records are spent. Move to Solo ($97 a month) or Agency ($497 a month).
Empty resultsBad enum value, such as Vice President instead of VPResolve values with GET /v1/enums/{name} or leadocean_list_enum_values.
Zero for jobFunction PurchasingThe function is thin in this industryFilter on title instead (Step 4).
Export refusedOver 50,000 rows a request or 500,000 a daySplit by state or headcount band and run several exports.

FAQ

Which industry value should I use for automotive?

Start with Automotive, then add Motor Vehicle Parts Manufacturing for suppliers or Retail Motor Vehicles for dealer groups. Resolve each with the free enum lookup so the string is exact.

How many automotive contacts can I get for free?

The Free plan gives 1,000 records for life, no card. Counts never spend records, so you can size the whole segment first and pull a 100-row sample.

Can I get phone numbers for plant managers?

Yes, through GET /v2/people/phone or the find_phone MCP tool. Each call costs one record, including a call that finds nothing.

Does this replace my sequencer or CRM?

No. LeadOcean returns data through an API, an MCP server and an app with an Exports page. Send from the tool you already use.

How fresh is the data?

The dataset is refreshed monthly, and each record carries its own fetched_at date. Verify with email_status before you send.

Related reading: lead generation for web3, lead generation for travel, lead generation for telecom and pricing.

Size your automotive list before you spend a record

Free to start. No credit card. 1,000 records to spend whenever you like.

Get your free API key →