AnyWho People Search Scraper
Pricing
Pay per event
AnyWho People Search Scraper
Scrape public AnyWho people-search, reverse-phone, area-code, and directory results for privacy ops and lead enrichment.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
2
Monthly active users
5 days ago
Last modified
Categories
Share
Scrape public AnyWho people-search, reverse-phone, area-code, and last-name directory pages.
Use this actor to collect structured public directory signals such as names, ages, masked phone snippets, locations, relatives, profile URLs, area codes, and phone prefixes.
Compliance note: this actor is not a consumer-reporting agency tool. Do not use it for employment, tenant screening, credit, insurance, or any FCRA-covered decision.
What does AnyWho People Search Scraper do?
AnyWho People Search Scraper turns public AnyWho pages into clean dataset rows.
It supports several workflows:
- ๐ Name search pages such as
John Smith - ๐ Reverse phone pages such as
(310) 555-1212 - ๐ Area-code pages such as
310 - ๐ค Last-name directory pages such as
S - ๐ Direct AnyWho start URLs
The actor fetches AnyWho over HTTP and parses the server-rendered HTML.
Who is it for?
This actor is useful for teams that need repeatable public-directory collection.
- ๐ก๏ธ Privacy operations teams checking public personal-data exposure
- ๐งญ Executive protection analysts reviewing visible contact traces
- ๐ Lead enrichment teams adding public directory context
- ๐งน Data hygiene teams validating names, locations, and area-code signals
- ๐ Researchers monitoring public white-pages style results
Why use this actor?
AnyWho pages are human-readable but hard to use in a pipeline.
This actor gives you:
- Structured rows instead of HTML
- Consistent field names
- Dataset exports in JSON, CSV, Excel, XML, and RSS
- API access through Apify
- Per-result pricing
- Small default runs for cheap testing
Data you can extract
| Field | Description |
|---|---|
resultType | person, phone, area_code, directory_suggestion, or page_summary |
searchType | Input mode used for this result |
query | Original query |
name | Person or directory suggestion name |
age | Age shown on AnyWho, when available |
currentLocation | Current location snippet |
previousLocations | Previous-location snippets |
maskedPhones | Masked phone snippets shown by AnyWho |
relatives | Public relative snippets |
profileUrl | AnyWho profile or directory URL |
phoneNumber | Reverse-phone page number |
areaCode | Area code parsed from phone or area-code pages |
phonePrefix | Prefix listed on area-code pages |
sourceUrl | Page that produced the record |
scrapedAt | ISO timestamp |
How much does it cost to scrape AnyWho people search results?
The actor uses pay-per-event pricing.
- A small start event is charged once per run.
- A result event is charged per dataset item produced.
- Keep
maxItemslow while testing. - Increase
maxPagesonly when you need deeper pagination.
Final production tier prices are calculated from cloud validation before publishing.
Input options
searchType
Choose one of:
namereversePhoneareaCodedirectoryLetterurl
queries
The meaning depends on searchType.
Examples:
John Smith(310) 555-1212310Shttps://www.anywho.com/people/john+smith
location
Optional for name searches.
Examples:
CaliforniaCalifornia, Los Angeles
startUrls
Use direct AnyWho URLs if you already have them.
maxItems
Stops the run after this many rows.
maxPages
Controls pagination depth per query.
Example input: name search
{"searchType": "name","queries": ["John Smith"],"location": "California","maxItems": 25,"maxPages": 1}
Example input: reverse phone lookup
{"searchType": "reversePhone","queries": ["(310) 555-1212"],"maxItems": 5}
Example input: area-code research
{"searchType": "areaCode","queries": ["310"],"maxItems": 50}
Example input: directory suggestions
{"searchType": "directoryLetter","queries": ["S"],"includeDirectorySuggestions": true,"maxItems": 100}
Example output
{"resultType": "person","searchType": "name","query": "John Smith","name": "John T Smith","age": 100,"currentLocation": "Reed St, Fort Wayne, IN","maskedPhones": ["(260) 744-", "(260) 745-"],"relatives": ["Harold Smith", "Ella Smithclark"],"profileUrl": "https://www.anywho.com/people/john+smith/indiana/fort+wayne/a758114512127","sourceUrl": "https://www.anywho.com/people/john+smith","scrapedAt": "2026-06-20T17:30:00.000Z"}
How to run
- Open the actor on Apify.
- Choose a search type.
- Enter one or more queries.
- Keep
maxItemslow for the first run. - Click Start.
- Download the dataset.
Tips for better results
- Use full names when possible.
- Add a state for common names.
- Use direct AnyWho URLs for repeatable monitoring.
- Use area-code mode when you need prefix lists.
- Do not set high pagination until the first page looks correct.
Integrations
You can connect this actor to:
- Google Sheets via Apify integrations
- Zapier or Make for enrichment workflows
- CRM import jobs
- Privacy ticket queues
- Executive protection dashboards
- Internal lead-scoring pipelines
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/anywho-people-search-scraper').call({searchType: 'name',queries: ['John Smith'],location: 'California',maxItems: 25});console.log(run.defaultDatasetId);
API usage with Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/anywho-people-search-scraper').call(run_input={'searchType': 'areaCode','queries': ['310'],'maxItems': 50,})print(run['defaultDatasetId'])
API usage with cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~anywho-people-search-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"searchType":"reversePhone","queries":["(310) 555-1212"],"maxItems":5}'
MCP usage
Use the Apify MCP server with:
https://mcp.apify.com/?tools=automation-lab/anywho-people-search-scraper
Claude Code setup:
$claude mcp add apify-anywho "https://mcp.apify.com/?tools=automation-lab/anywho-people-search-scraper"
Claude Desktop JSON config:
{"mcpServers": {"apify-anywho": {"url": "https://mcp.apify.com/?tools=automation-lab/anywho-people-search-scraper"}}}
Example prompts:
- "Run AnyWho People Search Scraper for John Smith in California and summarize the public directory matches."
- "Check this phone number with the AnyWho reverse-phone actor and return the dataset rows."
- "Collect prefixes for area code 310 and export them as CSV."
Legality
AnyWho displays public directory information and its own legal notices.
Legal and FCRA notice
AnyWho displays public directory information and its own legal notices.
You are responsible for how you use the data.
Do not use this actor for:
- Employment eligibility
- Tenant screening
- Credit decisions
- Insurance decisions
- FCRA-covered consumer reporting
- Harassment, stalking, or doxxing
Use it only for lawful public-information workflows.
Privacy operations workflow
A common workflow is:
- Load a list of executives or protected persons.
- Run name searches with state filters.
- Export public exposure rows.
- Review profile URLs manually.
- Create opt-out/remediation tickets where appropriate.
- Repeat on a schedule.
Lead enrichment workflow
A lead enrichment workflow can:
- Search full names.
- Capture approximate location and masked phone signals.
- Combine with first-party CRM data.
- Route uncertain matches to manual review.
- Avoid automated sensitive decisions.
Area-code workflow
Area-code mode is useful when you need:
- Prefix lists
- Area-code page metadata
- Phone-region context
- Repeatable telecom enrichment inputs
FAQ
Can I use this for employment or tenant screening?
No. Do not use this actor for FCRA-covered decisions such as employment, tenant screening, credit, or insurance.
Does it reveal full phone numbers?
The actor exports what AnyWho publicly shows on the page. Some people-search rows contain masked phone snippets rather than full numbers.
Troubleshooting: no results
If a query returns no people rows:
- Check that the name has both first and last name.
- Try without a location.
- Try a broader state instead of city.
- Open the
sourceUrlmanually to confirm AnyWho has results.
Troubleshooting: only page summary rows
A page summary row means the page loaded but no supported result cards were found.
This can happen with unsupported URLs, no-result pages, or changed AnyWho markup.
Related scrapers
- Website Contact Finder: https://apify.com/automation-lab/website-contact-finder
- Website Emails Scraper: https://apify.com/automation-lab/website-emails-scraper
Changelog
Initial version supports name, reverse-phone, area-code, directory-letter, and direct URL modes.
Support
If results look wrong, include:
- Input JSON
- Run URL
- Expected AnyWho page URL
- A short description of the missing field
Responsible use
Respect AnyWho's terms, robots signals, and applicable laws.
Run only the searches you are authorized to perform.
Avoid collecting more data than your workflow requires.
Use small test runs before scaling.