B2B URL Finder avatar

B2B URL Finder

Pricing

from $0.02 / 1,000 result extracteds

Go to Apify Store
B2B URL Finder

B2B URL Finder

Discover B2B company websites from industry, keyword, and location searches. Export clean domains with source snippets and confidence scores.

Pricing

from $0.02 / 1,000 result extracteds

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Discover company websites from industry, keyword, and location searches. B2B URL Finder turns public search results into a clean list of unique company domains for prospecting, enrichment, market mapping, and agency lead generation.

What does B2B URL Finder do?

B2B URL Finder searches lightweight public search result pages, extracts organic result URLs, filters out directories and social networks, canonicalizes company domains, and returns a structured dataset of likely business websites.

It is designed for workflows where you know a market segment but do not already have a company list.

Examples:

  • Industrial automation companies in Austin
  • B2B SaaS companies in Germany
  • Packaging suppliers in Chicago
  • Logistics providers in the United Kingdom
  • Cybersecurity consulting firms in Toronto

Who is it for?

Sales development teams use it to discover net-new accounts for outbound campaigns.

Lead generation agencies use it to create first-pass company lists before enrichment.

Recruiters use it to find employer websites in a niche and region.

Market researchers use it to map fragmented local or vertical markets.

No-code operators use it as a repeatable Apify actor that can feed CRM, enrichment, or spreadsheet automations.

Why use this actor?

  • Finds company websites from plain-language B2B search terms
  • Deduplicates by root domain
  • Filters common non-company sources such as social networks, directories, review portals, and news sites
  • Adds confidence scoring and business-signal labels
  • Keeps the dataset compact and export-ready
  • Runs with HTTP requests, not a heavy browser, for lower cost and faster startup

How it works

The actor builds search queries from your keywords, optional industry, locations, and country.

It queries DuckDuckGo Lite by default because the HTML is lightweight and stable for HTTP parsing.

Bing can also be selected as a secondary source, but search engines may occasionally show anti-bot challenges.

For each organic result, the actor canonicalizes the result URL to the homepage, extracts the root domain, applies exclusion rules, scores business signals, and saves unique domains.

Data you get

FieldDescription
companyBest-effort company name derived from the search result title
domainCanonical root domain
websiteUrlCanonical homepage URL
sourceUrlOriginal search result URL
titleOrganic result title
snippetOrganic result snippet
matchedKeywordKeyword that produced the result
matchedLocationLocation that produced the result
countryOptional country/market from input
confidenceScore1-99 score based on keyword, location, and business signals
discoverySourceSearch source used for discovery
businessSignalsLabels explaining why the result looks like a company website

How much does it cost to find B2B company URLs?

Pricing is pay per result: a $0.005 start charge plus a low per-company charge.

Current launch pricing is $0.041209 per 1,000 company websites on the BRONZE tier before volume discounts. FREE tier runs are $0.04739 per 1,000 company websites; higher paid tiers receive automatic volume discounts.

You only pay for unique company websites saved to the dataset.

Input options

Keywords / niches

Provide one or more industries, services, products, or buying-intent phrases.

Good examples:

  • industrial automation companies
  • managed IT services providers
  • packaging manufacturers
  • B2B SaaS companies

Primary industry

Use the optional industry field when you have one main target market. It is prepended to the keyword list.

Locations

Add cities, states, regions, or markets. Each location is combined with each keyword.

Country

Add a country or market name such as United States, Germany, or UK.

Maximum company websites

Use maxResults to control cost and output size.

Start with 30-50 results while validating your query language.

Include domains

Use this advanced field only when you want to allow a known set of exact domains.

Most users should leave it empty.

Exclude domains

Add competitors, partners, or known irrelevant domains you do not want in the output.

The actor already excludes many common directory, social, review, and media domains.

Require business signals

Keep this enabled for cleaner lead lists. Disable it only when you prefer broader discovery and plan to review results manually.

Search source

DuckDuckGo Lite is the default. Bing can be selected for experimentation or fallback coverage.

Example input

{
"keywords": ["industrial automation companies"],
"industry": "B2B SaaS companies",
"locations": ["Austin"],
"country": "United States",
"maxResults": 30,
"requireBusinessSignals": true,
"discoverySource": "duckduckgo"
}

Example output item

{
"company": "Example Automation",
"domain": "exampleautomation.com",
"websiteUrl": "https://exampleautomation.com/",
"sourceUrl": "https://exampleautomation.com/services",
"title": "Example Automation | Industrial Automation Services",
"snippet": "Industrial automation solutions for manufacturers and enterprise teams.",
"matchedKeyword": "industrial automation companies",
"matchedLocation": "Austin",
"country": "United States",
"confidenceScore": 80,
"discoverySource": "duckduckgo-lite",
"businessSignals": ["B2B/service terms", "commercial intent"]
}

How to run

  1. Open the actor on Apify.
  2. Enter one or more B2B keywords.
  3. Add optional locations and country.
  4. Set maxResults to a small number for your first run.
  5. Run the actor.
  6. Export the dataset as CSV, JSON, Excel, or via API.

Tips for better results

Use specific B2B language rather than broad consumer terms.

Include words like companies, providers, suppliers, manufacturers, consulting, or software.

Try several related keywords instead of one generic phrase.

Use city + country when searching for local companies.

Review confidence scores before importing into a CRM.

Integrations

Send results to Google Sheets for review.

Push domains into enrichment tools to find emails, LinkedIn pages, or company size.

Trigger CRM imports after filtering by confidence score.

Use Apify webhooks to start downstream scraping or enrichment actors.

Combine with contact discovery actors to turn company websites into full lead records.

API usage

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/b2b-url-finder').call({
keywords: ['industrial automation companies'],
locations: ['Austin'],
country: 'United States',
maxResults: 30
});
console.log(run.defaultDatasetId);

Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/b2b-url-finder').call(run_input={
'keywords': ['industrial automation companies'],
'locations': ['Austin'],
'country': 'United States',
'maxResults': 30,
})
print(run['defaultDatasetId'])

cURL

curl -X POST 'https://api.apify.com/v2/acts/automation-lab~b2b-url-finder/runs?token=YOUR_APIFY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"keywords":["industrial automation companies"],"locations":["Austin"],"country":"United States","maxResults":30}'

MCP usage

Use the Apify MCP server with Claude Desktop or Claude Code:

https://mcp.apify.com/?tools=automation-lab/b2b-url-finder

Claude Code setup:

$claude mcp add apify-b2b-url-finder https://mcp.apify.com/?tools=automation-lab/b2b-url-finder

Claude Desktop JSON config:

{
"mcpServers": {
"apify-b2b-url-finder": {
"url": "https://mcp.apify.com/?tools=automation-lab/b2b-url-finder"
}
}
}

Example prompts:

  • "Find 25 industrial automation company websites in Austin and summarize the best domains."
  • "Run B2B URL Finder for packaging suppliers in Chicago and return a CSV-ready table."
  • "Find B2B SaaS company domains in Germany, then group them by confidence score."

What this actor is not

It is not an email finder.

It is not a full company enrichment database.

It does not guarantee every result is a qualified sales lead.

It discovers likely company websites from public search results so you can enrich, review, and qualify them in the next step.

Quality and filtering

The actor removes common non-company domains before saving results.

It deduplicates domains so the same company does not appear multiple times from repeated queries.

Confidence scores are heuristic and should be treated as ranking aids, not truth labels.

Legality

This actor extracts publicly available search result metadata and public website URLs.

Make sure your use of the output complies with applicable laws, website terms, privacy rules, and your CRM/email policies.

Do not use discovered websites for spam or unlawful outreach.

FAQ

Why did I get fewer results than requested?

Search engines may return duplicate domains, directories, social pages, or weak results that are filtered out. Broaden keywords or add more locations.

Why are some companies not perfect matches?

Public search results are noisy. Use confidence score, snippets, and your own qualification rules before outreach.

Why does Bing return no data sometimes?

Bing can show challenge pages to automated HTTP clients. DuckDuckGo Lite is the default because it is more reliable for this use case.

Explore other automation-lab actors for lead generation and enrichment:

Changelog

Initial version discovers company URLs from B2B search terms, filters non-company domains, and returns structured company website records.

Support

If a query returns unexpected results, include the exact input and a few example domains when reporting the issue.

Development notes

The actor is HTTP-first and uses lightweight HTML parsing.

It stores one dataset item per unique company domain.

It charges the result event only after a dataset item is saved.

Version

0.1.0