Business Profile Enricher avatar

Business Profile Enricher

Pricing

from $15.00 / 1,000 enrichments

Go to Apify Store
Business Profile Enricher

Business Profile Enricher

Extract emails, phone numbers, owner names, services, and 15+ data points from any business website using AI. Works on any site — WordPress, Wix, Squarespace, custom builds. Feed it URLs directly or enrich a Google Maps Scraper dataset.

Pricing

from $15.00 / 1,000 enrichments

Rating

5.0

(1)

Developer

Douglas Page

Douglas Page

Maintained by Community

Actor stats

0

Bookmarked

19

Total users

1

Monthly active users

18 days ago

Last modified

Share

Extract structured business data from any website using AI. Get emails, phone numbers, owner/staff names, services, social media links, certifications, and more — all from a business website URL.

Unlike CSS-based scrapers that only grab data from one platform, this enricher reads the actual website content using AI, so it works on any business site regardless of how it's built.

What data do you get?

For each business URL, you get:

FieldExample
Business NameThe Smith Law Firm, LLC
DescriptionFamily law firm serving the St. Louis area since 1998
Emailsneil@smithlawfirm.com
Phones(314) 725-4400
PeopleNeil Smith — Attorney
ServicesDissolution of Marriage, Child Custody, Paternity, ...
Social LinksFacebook, Instagram, Twitter, LinkedIn, YouTube, TikTok, Yelp
Year Established1998
Address231 S. Bemiston Ave., Suite 800, St. Louis, MO 63105
Service AreaSt. Louis, St. Charles
CertificationsLicenses, bar admissions, BBB ratings
HoursMon-Fri 9am-5pm
LanguagesEnglish, Spanish
Payment MethodsCredit card, financing, insurance accepted

The enricher automatically follows up to four high-value subpages per business (About, Contact, Team, Services) to maximise coverage. Most sites expose an About and a Contact page; dedicated Team pages are less common, so people data is richer on sites that publish one.

How to use it

Option 1: Provide URLs directly

Paste a list of business website URLs. Works with any website.

{
"mode": "urls",
"urls": [
"https://www.smithlawfirm.com",
"https://www.abrahamwatkins.com",
"https://www.benfranklinplumbing.com"
]
}

Option 2: Enrich a Google Maps Scraper dataset

Already scraped businesses with the Google Maps Scraper? Pass the dataset ID and we'll enrich every business that has a website.

{
"mode": "dataset",
"datasetId": "AXu06pVFRUYhGQ9Su"
}

How it works

  1. Fetches the homepage of each business website
  2. Discovers subpages — looks for About, Contact, Team/Staff and Services pages, and fetches up to four of them
  3. AI extraction — sends the combined page content to an AI model that reads the site like a human and extracts structured data
  4. Returns clean JSON — every business gets a consistent profile with all available fields

Why use AI extraction instead of CSS scraping?

Traditional scrapers break when a website changes its layout. They also can't handle the massive variety of small business websites — every plumber, lawyer, and dentist has a different site structure.

AI extraction reads the page content and understands what it means, regardless of how the HTML is structured. This means:

  • Works on any website — WordPress, Squarespace, Wix, custom builds
  • Never breaks — no selectors to maintain
  • Extracts meaning — finds "John Smith, Managing Partner" on an About page, not just raw text

Output format

Each dataset row carries flat fields for easy CSV export, plus a nested enrichmentData object holding the complete profile for programmatic use.

FieldTypeNotes
urlstringThe URL you submitted
businessNamestringOfficial name as published on the site
descriptionstringOne to three sentences in the business's own words
emailsstringComma-separated, ready for a spreadsheet
phonesstringComma-separated, original formatting preserved
facebook, instagram, twitter, linkedin, youtube, tiktok, yelpstringOne column per network, empty when absent
peoplearrayStaff found on the site — see below
peopleCountnumberHow many people were found
servicesstringComma-separated list of services or practice areas
servicesCountnumberHow many services were found
yearEstablishednumberFounding year when stated
certificationsstringLicences, bar numbers, board certifications, accreditations
serviceAreastringCities, counties or regions served
hoursOfOperationstringOpening hours as published
addressstringFull street address
languagesstringLanguages the business operates in
paymentMethodsstringPayment methods and insurance accepted
fieldsFoundnumberPopulated field count — drives billing, see Pricing
confidencestringhigh, medium or low
pagesAnalyzednumberHow many pages were read for this business
processingTimeMsnumberTime spent on this business
enrichmentDataobjectThe full nested profile

People and attributed emails

Every entry in people carries a name, their role where the site states one, and linked_email — that person's published address:

"people": [
{ "name": "Jane Smith", "title": "Managing Partner", "linked_email": "jsmith@smithlaw.com" },
{ "name": "Tom Reed", "title": "Associate", "linked_email": null }
]

linked_email is set only where the site prints an address inside that person's own entry — their bio, staff card, or row in a directory. We never build an address from someone's name and the company domain, and anything that doesn't also appear in the business's email list is discarded.

Expect null far more often than not. Most small businesses simply don't publish per-person addresses; of the profiles we return that contain people, roughly 40% have any attributable address at all. Where a site lists one shared address against several staff, each of them carries that same value — that is what the page says.

Integrations

Works with Apify's full integration ecosystem: Zapier, Make, Google Sheets, webhooks, REST API, and more.

Pricing

$15 per 1,000 results ($0.015 per business).

You only pay for URLs where we extract meaningful data. A "result" is a dataset row with at least 3 populated fields (e.g. business name + emails + services, or business name + description + phones). Thin extractions — where the AI could only confirm a business name and nothing else — are skipped from the dataset and not charged. You'll see them logged in the run output as ○ <url> — only N field(s) found, not enough to charge.

URLs that fail outright (DNS error, 404, timeout, etc.) are also not charged.

Just need contact info (emails, phones, social)? The lighter-weight Contact Finder runs the same extraction with a contacts-only schema at $10/1K.

About the developer

This actor is built and maintained by Menus API — structured data extraction APIs for developers. Also see our Restaurant Menu Scraper and the lighter-weight Contact Finder if you only need contact info.

Need high-volume direct API access instead of Apify? Email support@menusapi.com.