Skip to content

How to Find B2B Leads by Company Domain and Job Title

Build a B2B segment from company domains and roles, review employer and contact fit, export CSV, and continue with a saved pagination cursor.

Dievio Team · Growth Systems · November 6, 2026 · 7 min read

A web address strip with a simple globe symbol and a paper job-role card feed into a filter shaped like a funnel

To find B2B leads at specific companies, enter their website domains and your target job titles in the B2B Leads Finder on Apify. Start with a small result limit, review the returned roles and employers, then export the Dataset as CSV. Save the search input so you can request the next batch consistently.

The Actor searches stored professional records using company and person filters. You can use the Apify input form without code or ask an MCP-connected agent to prepare and run the search. An Apollo subscription is not required for this independent search workflow.

Step 1. Prepare company domains and role names

Use bare company domains in company_websites, such as github.com. Remove the protocol, www and page paths. Keep the original company name and domain in your source sheet, and review parent-company and subsidiary domains separately.

Choose role variants that fit your brief. For operations leadership, you might start with Head of Operations and Operations Director. Keep related but unsuitable functions, such as sales operations, in mind when reviewing the returned titles.

Write down the intended country, seniority and company-size range, but start with only the filters you need. Adding several restrictive filters at once makes an empty first search harder to diagnose.

Step 2. Run a small company-and-title search

Open the B2B Leads Finder on Apify, click Try for free and sign in if prompted. Open its editable Input form in Apify Console.

  1. Set Total Results to 25.
  2. Add your target roles under the person titles field.
  3. Enter the confirmed bare domains under the company domain field.
  4. Set Email Status explicitly to all for a broad first review.
  5. Keep Include Emails enabled if you want available email fields in the output.
  6. Leave Include Phone Numbers off unless a phone is required for every result.
  7. Review pricing, set a run spending limit and click Start.

The public input reference explains the filters. The image shows the company-domain and contact controls; your actual values go into the Console form.

B2B Leads Finder fields for company domains, email status, email output and required phone matches
Read-only reference showing company-domain and contact controls, including the phone requirement.

JSON template for the first 25 results

Replace the two illustrative domains with your actual target companies. The explicit email setting makes the intended search reproducible.

{
  "company_websites": [
    "YOUR_FIRST_COMPANY.com",
    "YOUR_SECOND_COMPANY.com"
  ],
  "job_titles": [
    "Head of Operations",
    "Operations Director"
  ],
  "max_results": 25,
  "email_status": "all",
  "include_emails": true,
  "include_phones": false
}

The publisher also offers Leads Scraper with the same current filter shape. Choose one Actor and keep it fixed when continuing a segment. If comparing listings, use the same input and review the results and charges for each.

Understand the filters that change your audience

Title variants broaden the role search, while additional filter groups narrow the segment. Inspect the actual returned job title: a text-based role search can include titles that need a human fit decision.

Useful B2B filters and their meaning
FieldHow to use it
job_titlesRole names or deliberate title variants.
job_title_senioritySupported levels such as director, vp or cxo.
person_location_countryThe person’s country.
company_location_countryThe company’s location criterion.
employee_sizeAccepted ranges such as 51-200 or 201-500.
industries, industry_keywordsAdditional industry context when needed.
business_modelSupported values such as b2b or saas.

Select values from the current form rather than inventing labels. For example, this Actor uses cxo for a seniority choice. Another provider’s similar-looking field may use a different value.

A remote employee and the employer’s headquarters can be in different countries. Choose the person location, company location or both according to the brief. Keep the chosen interpretation with your search log.

Choose email and phone requirements deliberately

include_emails controls email output. Set email_status explicitly to all, verified or likely according to your intended filtering. More restrictive email choices can remove otherwise relevant people.

Those email labels describe stored-data filtering. The Actor does not perform live SMTP verification during the search. Review the returned contact and use a separate deliverability check when needed.

include_phones: true requires an available mobile phone number. It can reduce the number of qualifying profiles. Leave it false during the broad first segment test, then enable it if a phone-ready list is your actual requirement.

Dievio

Your next customer starts here.

Find decision-makers by role, company and location. Build your next prospect list in Dievio.

Find my leads

Free audience preview · No credit card

Find leadsExample
FounderSoftwareUnited States
AM
Alex MorganFounder & CEO · Northstaralex@northstar.example
JC
Jamie ChenCo-founder · Formlyjamie@formly.example
Work emailsCompany detailsCSV export

Step 3. Review the first Dataset

Open the completed run’s Dataset and inspect a sample before accepting the whole file. Compare the returned employer, company domain, role and profile identity with the source brief.

  • Keep the stable id and linkedin_url when returned.
  • Review the person’s name and job_title.
  • Retain the available company name and website fields.
  • Keep work_email, available email arrays and mobile_phone according to your requested output.
  • Record accepted, rejected and uncertain matches in a working review sheet.

For example, a regional operations director may fit your brief, while a sales operations manager may not. A similarly named employer can also be the wrong company. Use rejection reasons such as wrong function, wrong employer and employer unclear.

The records may contain older employment or contact data. Keep identity and current-role review separate from whether a contact field is populated. A larger row count is useful only when the rows satisfy your target segment.

Step 4. Download CSV and retain the search history

Choose CSV from the Dataset export action. Keep an original copy with the Actor name, run ID, Dataset ID, date and exact input. Use JSON too when you need nested arrays that are awkward in a spreadsheet.

Keep stable IDs and phone values as text. Deduplicate the working list by the stable record ID, using verified profile URLs when needed for cross-source reconciliation. Preserve the company-and-role brief beside the accepted list.

Count distinct accepted people, companies represented and profiles with each usable contact type. A company with no accepted result needs its own review; it should not disappear from the target-company report.

Request the next batch with the saved cursor

Open PAGINATION in the run’s default key-value store. Copy next_start_after_id into start_after_id for the next run, keeping the Actor, segment filters and contact requirements fixed.

  1. Save the first run’s input, output and pagination record.
  2. Copy its returned continuation value exactly.
  3. Reuse the same search input with that start_after_id.
  4. Set a separate approved budget for the new run.
  5. Check that the new cursor advances and compare IDs before appending.

The cursor tracks the last delivered profile, including a batch stopped by its output budget. Check the record and run evidence before concluding the segment is exhausted. If no new rows are saved or the cursor repeats, stop automatic continuation and inspect the cause.

Page-based pagination and explicit offsets are also supported. Page 2 skips the first result-limit-sized block, so changing the limit can change the skipped range. Use one continuation method consistently; cursor pagination is preferable for large exports. A changed segment starts with its own cursor history.

Diagnose a small or empty segment before widening it

Check one company and one role at a time. Confirm the domain, try a deliberate title variant and review location, seniority and contact requirements. A parent brand and subsidiary may be represented under different employer domains.

The maximum requested output is 100,000 per run. Source matches, budgets and account allowances can lower the result. The current Finder documentation describes a 500-exported-profile monthly allowance on the Apify Free plan, using the published event pricing. Review QUOTA, ERROR and the run log when present.

Keep partial output and its stop reason. A source-company report should distinguish no accepted match from a search that stopped before completing its intended work.

Run a B2B segment with your agent through Apify MCP

Connect your MCP-compatible agent to https://mcp.apify.com and authorize Apify using the MCP setup guide. Give it the domain list and a clear role brief.

Use x_guru/b2b-leads-finder.
Company domains: [MY_BARE_DOMAINS]
Target roles: [MY_TITLE_VARIANTS]
Approved event-charge cap USD: [AMOUNT]

Inspect the current input schema.
Start with max_results=25.
Set email_status="all" explicitly,
include_emails=true and
include_phones=false for the pilot.
Apply the approved cap through
callOptions.maxTotalChargeUsd.

Wait for completion and read every
Dataset page. Preserve stable IDs,
profile URLs, employer and title fields,
and available requested contacts.
Save raw output, a review CSV and the
exact search input. Report companies
represented, accepted roles and conflicts.
Read PAGINATION and save its cursor,
but wait before starting another run.
Include quota or error evidence and
the run ID and Dataset ID.

The agent uses call-actor to start, get-actor-run to wait and get-dataset-items for output pages. Ask it to keep each cursor bound to the input that produced it.

For an existing Apollo list, follow the Apollo export and API comparison. For known profiles, use the LinkedIn email or phone workflows. For another integration route, see the Dievio Lead Generation API and the Apify export guide.

Keep reading

Build your first list.

100 free credits. No credit card required.

Start free