Person to Business Enrichment - Find Someone's Company
Pricing
$30.00 / 1,000 person matcheds
Person to Business Enrichment - Find Someone's Company
Private preview of PR #63, built from branch claude/person-business-enrichment-uedcyd. Not listed, not priced, not for customers.
Pricing
$30.00 / 1,000 person matcheds
Rating
0.0
(0)
Developer
Lead Proof
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Person to Business Enrichment
Start from a person's name and whatever context you have. Get back the business or businesses they are professionally associated with, with the evidence that links them: the page that states it, the quote, and when it was read.
Why it exists
You have a list of people and no companies: a conference attendee list, a registration export, a membership roll. Finding each person's practice or employer by hand means searching, opening pages and deciding whether the "Jane Smith" on a clinic's team page is your Jane Smith. This Actor does the searching and reading, and it is strict about the deciding: it reports a business only when a source states the link and the person is identified on that source. Everything else comes back as a candidate, with the reason it was not promoted.
It is not limited to one profession. For US healthcare providers it also consults the free national provider registry, and skips it for everybody else.
How to use it
- Add people: a full name each, plus whatever you know - city, region, country, profession, credentials, or the business website if you have it.
- Leave the defaults on for a first run: web search plus reading the pages it finds.
- Set the run's maximum charge in the run options. The Actor stops starting people once another match could not be paid for.
- Run, then read
outcomefirst:matchedrows carry businesses,candidaterows carry what was found and why it was not enough.
Input
Only fullName is required.
{"people": [{"inputId": "row-001","fullName": "Tim Cook","profession": "Executive Chair","city": "Cupertino","region": "CA","country": "US","website": "https://www.apple.com/leadership/tim-cook/"}]}
inputIdis returned unchanged and keeps two people with the same name apart. Rows are numbered by position if you leave it out.- An address you supply is kept as given and never treated as a workplace: a badge address is often a home, an old office or shared.
- Any field the schema does not know is preserved and returned with the row.
- Optional sources, both off by default:
useGoogleMaps(Maps listings as candidates) andverifyEmails(deliverability of the emails found).
Output
One row per input person, in input order.
| Field | What it holds |
|---|---|
inputId, person | Your input as sent, and how the name was parsed |
outcome | matched, candidate, not_found or error (see below) |
identity | Whether the person was identified, and on what: a profession or credential stated on the page, a registry number, a website you supplied |
businesses[].business | Name, website, phones, emails, addresses, category, and what the business does in its own published words |
businesses[].relationship | rawTitle: the role exactly as the source wrote it, or empty when the source states the relationship without one. type (employment, ownership, partnership, other) and normalizedTitle are our classification, kept apart from it. Current, former or unknown, with the reason; dates only when a source printed them |
businesses[].linkEvidence | The URL, the supporting quote or structured-data path, when it was read, and the source's own date if it has one |
candidates[] | Businesses that did not meet the bar, each with notPromotedBecause |
sourceAttempts[] | Every source tried: ok, empty, blocked, timeout, parse_failed, undetermined, error or skipped |
warnings, completeness | What could not be established, and which fields are missing |
costs | What this person reserved for other Actors, what those Actors are expected to charge, and whether the figures were complete when read |
Every contact carries a scope: business_general, branch,
person_professional or unknown. A practice's main line and a named
practitioner's direct line are different things and are returned as such.
A run summary is written to the key-value store as SUMMARY, and a flat CSV
view is available from the dataset.
Outcomes
| Outcome | Meaning | What it is not |
|---|---|---|
matched | A source states the link and the person was identified on that source. | Not a guarantee: read identity and the evidence. |
candidate | Plausible businesses were found and none met the bar. | Not a weak match. A candidate's contacts belong to the candidate business. |
not_found | The sources answered and had nothing. | |
error | The Actor could not look properly: sources failed, or the run stopped first. | Never a statement that the person has no business. |
How a business gets promoted
- The person is identified on that source. An exact name plus a city is not enough. Something independent has to agree, and a value that came from the search query itself corroborates nothing.
- A source states the relationship with that business. Structured data linking the two; a sentence connecting them ("Jane Smith, DDS is an associate dentist at Riverside Dental Group", "Riverside Dental Group welcomes Dr. Jane Smith", "Dr. Smith and our team at Riverside Dental Group"); or the business's own roster listing the person under a team heading. A page that only mentions the person does not count, nor does being on the business's domain, a search snippet, a Maps listing, a shared address or a business named after the person's surname.
- No rival. If several distinct people fit the same evidence, nothing is promoted. Two people can share a name exactly; the row says so instead of choosing one.
Pricing
Pay per event:
| Event | Price | When |
|---|---|---|
person-matched | $0.03 | Once for each input person with at least one matched business. Several businesses on one person's row are one event. |
Candidate, not-found and error rows are free.
This Actor also runs other LeadProof Actors on your account, and they bill you separately at their own published prices:
| Actor | When | Its price |
|---|---|---|
| Web Search | Always, unless you turn web search off | $0.005 per results page, usually one per person |
| Google Maps Scraper | Only with useGoogleMaps | Per place delivered, up to three per person |
| Bulk Email Verifier | Only with verifyEmails | Per address checked |
Two limits keep a run inside what you intended:
- The run's maximum charge (a run option) bounds this Actor's own events. A person is started only while their match could still be charged, so the limit stops work before it is done rather than after.
maxTotalCostUsdbounds what the run may commit the other Actors to. Each one's allowance is reserved before it starts and passed to the platform as that Actor's own spending limit, and it is not freed during the run.
Reliability
- Resume is safe. Rows already delivered are not recomputed or charged again, and another Actor started for a person is re-attached rather than started twice. If a start was interrupted before its run ID was recorded, it is not started again: the row says so.
- Shared businesses are read once. Several people at one practice share its page reads; each keeps their own relationship to it.
- One bad row does not end the batch. It becomes an
errorrow and the rest continue. - Every URL is checked before it is fetched, and again at every redirect.
Limits
- People with common names and no profession or credential usually come back as candidates. That is the honest answer, not a failure.
- Well-known people are written about everywhere. A page that writes about someone without stating their relationship with its own publisher - an encyclopedia entry, a news article, a social post, an honours page - is a candidate, never a match, so a famous name with no company page usually comes back as a candidate. Supply the company page to confirm it.
- A company page on a separate newsroom site names itself after the newsroom, and says nothing about the person's relationship with the newsroom, so it stays a candidate.
- A blocked or unreadable page is recorded as such, never as "nothing there".
- A public source can be stale. Retrieval time is always recorded; a source's own date only when it publishes one, and its absence means unknown recency.
- Emails are the ones a business published. None are guessed, and a general mailbox is never presented as a person's own.
- LinkedIn profiles are not read. When web search surfaces a profile address, it is listed as an address and never used as evidence of a job.
Fair use
This Actor reads public, professional information: business websites, public search results and, for US healthcare providers, the public provider registry. It logs into nothing, solves no challenges and bypasses no access controls. You are responsible for having a lawful basis to process the people you enter and for how you contact them.
Related
- Business Enrichment - start from a business instead of a person.
- Website Email Finder - published emails from a list of websites.
- Built by LeadProof.