WhoIsThisPerson
Pricing
from $0.50 / actor start
WhoIsThisPerson
Multi-engine search (Google, Bing, Yandex, FaceCheck.ID) with AI face verification and social discovery. It ranks and verifies matches using confidence scoring for faster, reliable OSINT investigations, due diligence, and identity verification.
Pricing
from $0.50 / actor start
Rating
5.0
(1)
Developer
REXREUS D.O
Maintained by CommunityActor stats
0
Bookmarked
9
Total users
4
Monthly active users
13 days ago
Last modified
Categories
Share
๐ Whoisthisperson - Find, Verify, and Rank People From an Image
Multi-engine reverse image search with AI face verification and social footprint discovery
A production-ready Apify Actor for buyers who need faster, more reliable image intelligence. It combines multiple reverse image search engines, face verification, and result ranking into one cloud-run workflow.
๐ Why Use This Actor?
The Problem
Standard reverse image search can produce a lot of noise. It is hard to know which results actually match the target person, and manual checking takes time.
Our Solution
- ๐ Multi-engine coverage: Search Google, Yandex, Bing, and FaceCheck.ID in one run
- ๐ง Face verification: Compare likely matches with local embeddings and confidence scoring
- ๐ Social discovery: Surface related public profiles when available
- โก Faster review: Rank, deduplicate, and score results so you can focus on the strongest matches
- ๐ Privacy-aware processing: Verification happens inside the Actor runtime, not in your browser
What Buyers Get
- A single workflow instead of juggling separate search tools.
- Better signal quality with confidence and review flags.
- Structured output that is easy to read, export, or automate.
- Results that are useful for investigations, due diligence, and repeated checks.
Trust & Credibility
- Transparent scoring so buyers can see why a result ranked higher.
- Clear review flags so weak matches are easy to separate from stronger ones.
- Engine-level metadata so users can compare performance and coverage.
- Structured output so the result format stays consistent across runs.
- Cloud-run execution so buyers get a managed Actor experience inside Apify.
โจ Key Features
1. Multi-Engine Search
Queries up to 4 reverse image search engines in parallel:
- Google Lens - Largest index, excellent general coverage
- Yandex Images - Strong for faces and Russian-language content
- Bing Visual Search - Good for technical/document images
- FaceCheck.ID - Specialized face search API (optional, API key required)
2. Intelligent Face Verification
โโ Input Imageโ โโโ [Face Detection] โ Extract primary face (128-d embedding)โโโโ Multi-Engine Search (Parallel)โ โโ Google Resultsโ โโ Yandex Resultsโ โโ Bing Resultsโ โโ FaceCheck Resultsโโโโ Face Verification Pipelineโโ Extract face embeddings from resultsโโ Calculate cosine similarity scoresโโ Apply multi-tier confidence systemโโ Correlate with metadata (name, location, age)โโโ Ranked & Deduplicated Results
Multi-Tier Confidence System:
- ๐ข Very High (0.95+): Same photo or identical person (auto-accept)
- ๐ข High (0.90-0.95): Highly likely match + metadata validation
- ๐ก Medium (0.85-0.90): Probable match, manual review recommended
- ๐ด Low (<0.85): Requires careful verification
3. Social Media Intelligence
- Extracts names from search results
- Generates username variations (johndoe, john.doe, john_doe, etc.)
- Checks Instagram, LinkedIn, and Twitter/X for matching profiles
- Compares profile pictures with input face for additional verification
4. Advanced Result Aggregation
- URL Deduplication: Removes duplicate results using URL normalization
- Face-Based Deduplication: Groups similar faces (similarity > 0.95)
- Cross-Engine Validation: Boosts confidence if result found by multiple engines
- Domain Diversity: Limits results per domain to avoid over-representation
- Composite Scoring: Combines face similarity, metadata quality, and engine reliability
5. Memory & Performance Optimization
- Lazy-loads AI models (loaded only when needed)
- Quantized face-api models (50% size reduction)
- Forced garbage collection between batches
- Adaptive execution modes (full, fast, minimal)
- Automatic memory monitoring and fallback strategies
๐ Input Parameters
| Parameter | Type | Description | Default | Range |
|---|---|---|---|---|
| imageUrl | string | URL of image to search | - | - |
| imageBase64 | string | Base64-encoded image data | - | - |
| engines | array | Search engines: google, yandex, bing, facecheck | All | - |
| minSimilarity | number | Face similarity threshold for filtering | 0.85 | 0.0-1.0 |
| depth | integer | Max results per engine | 20 | 1-100 |
| maxResults | integer | Max total results after aggregation | 50 | 1-200 |
| timeout | integer | Timeout per engine (seconds) | 30 | 10-120 |
| sortBy | string | Sort results by: similarity, confidence, engine | similarity | - |
| enableSocialFootprint | boolean | Search for social media profiles | true | - |
| socialPlatforms | array | Platforms to check: instagram, linkedin, twitter | All | - |
| minSocialSimilarity | number | Face match threshold for social profiles | 0.80 | 0.0-1.0 |
| facecheckApiKey | string | FaceCheck.ID API key (optional) | - | - |
| googleApiKey | string | Google API key for search/vision | - | - |
| googleCx | string | Google Custom Search Engine ID | - | - |
| bingApiKey | string | Bing Image Search API key | - | - |
| twitterBearerToken | string | Twitter/X API token for faster verification | - | - |
| instagramAccessToken | string | Instagram access token | - | - |
| linkedinAccessToken | string | LinkedIn access token | - | - |
| proxyConfiguration | object | Proxy settings (residential recommended) | - | - |
๐ค Output Format
{"searchId": "search_xyz123","inputImageUrl": "https://example.com/photo.jpg","inputFaceDetected": true,"engines": ["google", "yandex", "bing"],"results": [{"rank": 1,"imageUrl": "https://...","sourceUrl": "https://example.com/photo","title": "Person Profile","snippet": "Professional headshot...","engine": "google","sources": ["google", "yandex"],"faceSimilarity": 0.96,"confidence": "very_high","compositeScore": 0.94,"requiresReview": false,"verification": {"similarity": 0.96,"confidence": "very_high","faceDetectionConfidence": 0.99,"verificationMethod": "facenet-cosine"}}],"socialFootprint": {"instagram": [{"username": "johndoe","url": "https://instagram.com/johndoe","faceSimilarity": 0.91,"confidence": "high","followersCount": 1250,"verified": false}],"linkedin": [],"twitter": [],"summary": {"profilesFound": { "instagram": 1, "linkedin": 0, "twitter": 0 },"averageConfidence": 0.91,"executionTimeMs": 45230}},"aggregationMetadata": {"totalPerEngine": { "google": 20, "yandex": 18, "bing": 15 },"duplicatesRemovedUrl": 8,"duplicatesRemovedFace": 3,"finalCount": 42,"enginePerformance": {"google": {"status": "healthy","resultsCount": 20,"responseTimeMs": 8500,"successRate": 1.0}}},"executionTimeMs": 127450,"executionMode": "full"}
๐ Quick Start & Step-by-step Tutorial
The following steps get you from opening the Actor to reviewing ranked, verified results. Includes both API-key and scraping workflows.
1) Launch the Actor on Apify
- Open the Actor page in Apify Store and click Try for free.
- In the input form use either
imageUrlorimageBase64(one required).
Example minimal input (paste into the UI input box):
{"imageUrl": "https://example.com/your-photo.jpg","engines": ["google", "yandex", "bing"],"minSimilarity": 0.85}
2) Add API Keys One by One (optional but recommended)
Fill the API fields directly in the form. Each key has its own input, so you do not need to paste a JSON object.
Use these fields when available:
googleApiKeyandgoogleCxbingApiKeyfacecheckApiKeytwitterBearerTokeninstagramAccessTokenlinkedinAccessToken
Why put keys here?
- With
googleorbingAPI keys the Actor will prefer reliable API lookups (faster, less blocked). - Without keys the Actor falls back to browser-based scraping (works but is more likely to be blocked and slower).
3) Configure Proxy (strongly recommended for scraping)
In the proxyConfiguration input you can enable Apify Proxy or supply custom proxy URLs. Example:
{"proxyConfiguration": {"useApifyProxy": true,"proxyUrls": []}}
Notes:
- For scraping (no API keys) a residential proxy drastically improves success rates.
- If
useApifyProxyis true, set theAPIFY_PROXY_URLenvironment variable or let Apify provide the proxy at runtime.
4) Run and Inspect Results
- Run the Actor. When finished, open the Dataset created by the run.
- Inspect
aggregationMetadata.enginePerformanceto see per-engineresultsCountandsuccessRate.
Typical Input Example (full)
{"imageUrl": "https://upload.wikimedia.org/.../example.jpg","engines": ["google","yandex","bing","facecheck"],"googleApiKey": "...","googleCx": "...","bingApiKey": "...","facecheckApiKey": "...","proxyConfiguration": { "useApifyProxy": true },"depth": 20,"maxResults": 50}
What You Get
- Ranked results with confidence signals
- Face verification metadata (similarity, confidence)
- Per-engine performance stats so you can tell which engines worked
๐ผ Why Buyers Choose This Actor
This Actor is built for people who need reliable image intelligence without wasting time on manual checking. It combines search, verification, and ranking in one workflow so you can get to the useful result faster.
Why It Stands Out
- Less manual work because multiple engines are searched in one run.
- Better signal quality because face verification helps filter weak matches.
- More confidence in results because scoring and deduplication are included.
- Easy to operationalize because the output is structured and consistent.
What Makes It Valuable
- Multi-engine coverage helps you compare results instead of relying on one source.
- Verification layers help reduce false positives.
- Social footprint analysis helps connect image results to public profiles.
- Clear result metadata helps users decide what to trust and what to review.
Reliability Signals
- Results are ranked, deduplicated, and annotated with confidence data.
- The output includes engine performance details for visibility into run quality.
- The workflow is built for repeatable checks, not one-off manual browsing.
- The Actor is designed to present useful results quickly, without requiring users to build the pipeline themselves.
Ideal For
- Investigators and analysts who need repeatable image search runs.
- Due diligence teams checking identity consistency.
- OSINT workflows that require ranking and verification.
- Agencies and consultants offering paid research services.
- Teams that want an Apify-native data extraction step instead of a custom scraper.
Workflow Benefit
You submit an image, the Actor searches across engines, verifies likely matches, and returns ranked results with confidence signals. That makes it easier to review, share, or plug into a larger workflow without rebuilding the pipeline yourself.
๐ Use Cases
๐ Investigative Journalism
Find all mentions of a person across the web. Verify photo authenticity and discover related accounts.
๐ฎ Law Enforcement
Identify suspects from photographs. Cross-reference with social media for additional intelligence.
๐ก๏ธ Due Diligence & Background Checks
Verify candidate information during hiring. Detect identity fraud and fake profiles.
๐ Cybersecurity & Account Recovery
Locate compromised or abandoned accounts. Find and secure related accounts.
๐ฑ Social Media Management
Find brand impersonators. Monitor unauthorized use of company photos.
๐ Academic Research
Study how images spread across the internet. Analyze face recognition accuracy.
๐๏ธ Architecture Highlights
Scalable Multi-Engine Design
Input Imageโ[Image Preprocessing] (Sharp)โ[Face Detection] (face-api)โโโ [Google Engine] (Playwright + Stealth)โโ [Yandex Engine] (Playwright + Stealth)โโ [Bing Engine] (Playwright + Stealth)โโ [FaceCheck Engine] (API-based)โ[Result Aggregation] (URL + Face Deduplication)โ[Face Verification] (Batch Processing)โ[Social Footprint Analysis] (Parallel Platform Checks)โRanked Final Results
Technology Stack
- Language: TypeScript (strict mode)
- Framework: Crawlee (web scraping orchestration)
- Browser: Playwright with stealth plugin
- Face Detection: @vladmandic/face-api
- Image Processing: Sharp
- Testing: Jest with 60%+ coverage
- Runtime: Node.js 20+ with Apify Actor container
โ๏ธ Configuration Best Practices
For Speed (Fast Mode)
{"depth": 10,"maxResults": 20,"enableSocialFootprint": false,"engines": ["google", "yandex"]}
For Accuracy (Full Mode)
{"depth": 30,"maxResults": 100,"minSimilarity": 0.90,"enableSocialFootprint": true,"socialPlatforms": ["instagram", "linkedin", "twitter"]}
For Memory Efficiency
{"depth": 15,"maxResults": 30,"enableSocialFootprint": true,"sortBy": "similarity"}
๐ Privacy & Security
โ Privacy-First Design
- Face embeddings computed locally (not stored)
- No permanent biometric databases
- Only public data from search results collected
- No tracking or telemetry
โ Security Features
- Input image validation and corruption detection
- Output sanitization
- Rate limiting to avoid detection
- Proxy rotation for anonymity
โ ๏ธ Ethical Considerations
- Complies with GDPR, CCPA requirements
- Respects robots.txt policies
- For legitimate investigations only
- See docs/PRIVACY_ETHICS.md for details
๐ Documentation
- docs/PERFORMANCE_TUNING.md - Memory optimization, proxy setup, accuracy tips
- docs/PRIVACY_ETHICS.md - Legal considerations and responsible use
- docs/TROUBLESHOOTING.md - Common issues and solutions
- docs/API_REFERENCE.md - Detailed specification for each module
๐ Performance Benchmarks
Typical execution on 16GB Apify Actor with residential proxies:
| Metric | Value | Notes |
|---|---|---|
| Search Time | 45-90s | Parallel multi-engine queries |
| Face Verification | 15-30s | Batch processing 50-100 results |
| Social Analysis | 10-20s | 3 platforms, username generation |
| Total Execution | 90-180s | Full mode with all features |
| Memory Usage | 4-6GB | Face models + browser contexts |
| Results Quality | 90%+ | Verified with manual testing |
๐ Troubleshooting Quick Links
- No faces detected? โ docs/TROUBLESHOOTING.md#no-face-found-in-input-image
- Engines blocked? โ docs/PERFORMANCE_TUNING.md#proxy-configuration
- Memory issues? โ docs/PERFORMANCE_TUNING.md#memory-management
- Low accuracy? โ docs/PERFORMANCE_TUNING.md#face-verification-accuracy
๐ License
ISC License - See LICENSE file for details
โญ Support & Community
- Questions? Check FAQ below
- Issues? See docs/TROUBLESHOOTING.md
- Feature Requests? Open an issue on GitHub
โ FAQ
Q: Is this legal to use?
A: This actor searches only publicly available information. Ensure your use case complies with local laws (GDPR, CCPA, etc.). See docs/PRIVACY_ETHICS.md.
Q: How accurate is face verification?
A: 90%+ accuracy for frontal faces with good lighting. Side profiles and poor quality images reduce accuracy.
Q: What's the cost?
A: Pricing depends on your Apify plan and runtime usage. The Actor is designed to deliver high-value results per run so it can fit both ad-hoc investigations and recurring paid workflows.
Q: Can I use my own proxies?
A: Yes, set proxyConfiguration.proxyUrls in the input.
Q: How do I get a FaceCheck.ID API key?
A: Sign up at facecheck.id and subscribe to their plan.
Made with โค๏ธ for the OSINT community