Dun & Bradstreet Companies Scraper avatar

Dun & Bradstreet Companies Scraper

Pricing

from $6.00 / 1,000 company scrapeds

Go to Apify Store
Dun & Bradstreet Companies Scraper

Dun & Bradstreet Companies Scraper

Scrape Dun & Bradstreet business directory companies — firmographics, DUNS, revenue, address, NAICS industries. MCP/API-ready.

Pricing

from $6.00 / 1,000 company scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

1

Bookmarked

4

Total users

1

Monthly active users

9 days ago

Last modified

Share

Use this Apify Actor to collect company records from the Dun & Bradstreet business directory. It accepts either D&B directory URLs or structured search inputs, and returns one record per company with firmographic fields such as company name, hashed DUNS identifier, profile URL, address, sales revenue, industry names, website, ranking fields, and source provenance. The output is ready for dataset export, API workflows, and Apify MCP use.

Best fit and connected workflows

This Actor fits workflows that start from a D&B industry directory page, a company profile page, or a structured industry and geography query.

Common routing patterns:

  • Lead generation teams can start from an industry slug and country or region to build a company list with DUNS and address data.
  • Research workflows can paste one or more D&B listing URLs or profile URLs and normalize them into structured records.
  • Enrichment workflows can turn listing results into fuller company profiles when enrichDetails is enabled.
  • AI agents can call it through Apify MCP to retrieve company intelligence for downstream extraction, matching, or routing.

focused workflow

Dun & Bradstreet Companies Scraper is designed as a focused workflow.

Practical scenario

A business analyst starts with a D&B listing for software publishers in California. They submit the listing URL, set maxResults to a manageable batch size, and leave enrichment enabled. The returned records include companyName, duns, profileUrl, website, salesRevenue, primaryIndustry, locality, region, and provenance fields. The analyst uses salesRevenue and region to segment the results, then opens profileUrl for a short list of accounts that match a target territory.

Input fields

FieldTypePurpose
startUrlsarrayD&B business-directory listing URLs or company profile URLs. The Actor auto-detects the URL type.
industryPathstringStructured search slug such as software_publishers.
countryIsoCodestringTwo-letter ISO country code for search mode, such as us or gb.
regionNamestringOptional region or state slug such as california.
maxResultsintegerMaximum number of company records to return across inputs.
enrichDetailsbooleanEnrich each company with full profile fields when enabled.
proxyConfigurationobjectProxy settings for requests.

Focused input example

{
"industryPath": "software_publishers",
"countryIsoCode": "us",
"regionName": "california",
"maxResults": 25,
"enrichDetails": true
}

Output fields

Each dataset item represents one company record.

FieldTypePurpose
dunsstringD&B profile identifier used in the profile URL.
companyNamestringPrimary company name.
profileUrlstringFull D&B business-directory profile URL.
websitestring or nullCompany website from enrichment.
streetAddressstring or nullStreet address.
localitystring or nullCity.
regionstring or nullState or region name.
regionCodestring or nullState or region abbreviation.
postalCodestring or nullPostal code.
countryNamestring or nullCountry name.
countryCodestring or nullISO alpha-2 country code.
fullAddressstring or nullSingle-line address.
salesRevenuestring or nullSales revenue as published by D&B.
primaryIndustrystring or nullMain industry name.
industriesarrayAssociated industry names.
fortuneRankinteger or nullRanking value, when present.
fortuneRankLabelstring or nullRanking label.
principalCountinteger or nullNumber of principals listed by D&B.
contactCountinteger or nullNumber of contacts listed by D&B.
competitorIndustrystring or nullCompetitor industry name.
similarCompaniesarraySimilar companies as {name, url} objects.
financialYearsarrayReported financial years as {year, revenueAccuracy} objects.
sourceUrlstring or nullInput or constructed listing URL for the record.
scrapedAtstringISO-8601 scrape timestamp.

Illustrative output record

{
"duns": "ec7f550b3a97b94d919d837672573959",
"companyName": "Apple Inc.",
"profileUrl": "https://www.dnb.com/business-directory/company-profiles.apple_inc.ec7f550b3a97b94d919d837672573959.html",
"website": "https://www.apple.com",
"locality": "Cupertino",
"region": "California",
"regionCode": "CA",
"countryCode": "US",
"salesRevenue": "416,161",
"primaryIndustry": "Software Publishers",
"industries": [
"Communications Equipment Manufacturing",
"Computer and Peripheral Equipment Manufacturing",
"Software Publishers"
],
"fortuneRank": 4,
"fortuneRankLabel": "Fortune 1000 Revenue Rank",
"principalCount": 13,
"contactCount": 52545,
"scrapedAt": "2026-06-24T16:00:00.000Z"
}

How it works

This Actor uses the D&B business-directory JSON API through an HTTP-only crawling approach. It supports two entry modes:

  1. Paste one or more D&B listing or profile URLs in startUrls.
  2. Provide industryPath with countryIsoCode and optional regionName for structured search mode.

When enrichDetails is enabled, each company from a listing is followed to its profile page to collect additional fields such as website, industries, Fortune ranking fields, competitor industry, similar companies, and contact or principal counts. The default execution configuration uses Apify proxy with US routing.

Pricing

Dun & Bradstreet Companies Scraper uses Pay per event pricing on the Apify platform. Charges are based on the events recorded for the run, and platform usage is billed alongside the Actor's event usage. The primary event is Company scraped, which is charged per company record returned. There is also an Actor start event charged once per run.

For an event-count example, a run that returns fifty companies records fifty Company scraped events plus one Actor start event. Check the live Pricing tab in Apify Console for the current pricing details and totals for your input size and usage.

Use with AI agents (MCP)

This Actor is available as an Apify Actor usable through Apify MCP. It is a company-intelligence tool for retrieving D&B firmographic records from either search inputs or D&B URLs.

Actor identity: khadinakbar/dnb-companies-scraper

Example agent prompt:

Find software publishers in California from D&B, return the company names, DUNS values, websites, cities, and profile URLs, then give me the dataset items for review.

Output interpretation:

  • companies points to the dataset items endpoint for the scraped company records.
  • runSummary provides terminal status for automation and monitoring.
  • runOutput provides a machine-readable run outcome, including result count and PPE charge counts.
  • Each dataset item represents one company record, so pagination is reflected in the dataset rather than in a single row.
  • sourceUrl helps trace each record back to the input URL or constructed listing URL.
  • scrapedAt marks when the company was collected.

Provenance and scope:

  • The Actor returns public business-directory firmographics from D&B.
  • It supports listing URLs, profile URLs, and structured industry, country, and region search.
  • It exposes enrichment fields when enabled in the input.
  • It is suited to Apify MCP tool calls that need structured company records from a known D&B source.

Pagination and cost guidance:

  • Increase maxResults only as needed for the number of companies you want in the dataset.
  • Larger result sets produce more Company scraped events.
  • Enrichment adds one extra request per company record.

Use via Apify API

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("khadinakbar/dnb-companies-scraper").call(run_input={
"industryPath": "construction",
"countryIsoCode": "us",
"regionName": "texas",
"maxResults": 20,
"enrichDetails": True
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["companyName"], item.get("salesRevenue"))

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('khadinakbar/dnb-companies-scraper').call({
startUrls: [
'https://www.dnb.com/business-directory/company-information.software_publishers.us.california.html'
],
maxResults: 10,
enrichDetails: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) {
console.log(item.companyName, item.profileUrl);
}

Best results and outcome guidance

  • Use startUrls when you already have a D&B listing page or company profile page.
  • Use industryPath with countryIsoCode and regionName when you want a structured search by geography.
  • Keep maxResults aligned with the number of records you need for the task.
  • Enable enrichDetails when you need website, industry context, ranking, and related-company fields.
  • Review profileUrl, sourceUrl, and scrapedAt together when you need traceability for downstream workflows.

Continue the workflow

Design note

I found that the dataset contract includes both sourceUrl and scrapedAt, which makes each company record traceable back to its origin and collection time.

FAQ

How should I choose between URL mode and search mode?

Use startUrls when you already have a D&B listing or profile link. Use industryPath with countryIsoCode and optional regionName when you want the Actor to construct the D&B listing from structured search terms.

What happens when I only want basic company records?

Set enrichDetails to false. The Actor then returns listing-level firmographics such as name, DUNS, address, and revenue.

Which fields help with account research?

salesRevenue, primaryIndustry, industries, fortuneRank, principalCount, contactCount, and similarCompanies are useful for account and market research workflows.

How can I identify the company source in my downstream system?

Use profileUrl for the D&B record itself and sourceUrl for the input or constructed listing URL that produced the record.

Responsible use

Use the output in ways that respect applicable laws, D&B terms, and data-handling requirements for your workflow. The Actor is designed for public business-directory firmographics and structured company research.