Assistant
{"success": true, "name": "phone_osint", "description": "Free phone number OSINT lookup using 12+ web sources and 5 API sources (Truecaller Web, Epieos, HIBP, OpenSanctions, Intelligence X, PhoneInfoga). No paid API keys required (except optional IntelX/HIBP for full coverage). Usage: phone_osint
[--json] [--source SOURCE]", "tags": [], "related_skills": [], "content": "---\nname: phone_osint\ndescription: >\n Free phone number OSINT lookup using 12+ web sources and 5 API sources\n (Truecaller Web, Epieos, HIBP, OpenSanctions, Intelligence X, PhoneInfoga).\n No paid API keys required (except optional IntelX/HIBP for full coverage).\n Usage: phone_osint [--json] [--source SOURCE]\n---\n\n# Phone OSINT Lookup\n\nFree, legal phone number investigation using public web sources and free API tiers.\n\n## When to Use\n\nUse this skill when the user asks to:\n- Look up a phone number\n- Identify a caller\n- Check if a phone is associated with spam/scam\n- Find carrier/location info for a number\n- Check sanctions/PEP databases for a phone\n- Search for a phone in data breaches\n\n## How to Run\n\n``bash\n# Full lookup (all sources)\npython3 ~/.hermes/skills/phone_osint.py \n\n# JSON output\npython3 ~/.hermes/skills/phone_osint.py --json\n\n# Single source\npython3 ~/.hermes/skills/phone_osint.py --source opensanctions\n`\n\n## Sources\n\n### Web Scraping (no API key needed)\n- Truecaller Web — name/carrier/location from truecaller.com\n- Epieos — OSINT aggregation (email + phone)\n- NumLookup, SpyDialer, WhoCallsMe, 800notes, USPhoneBook, CallerSmart, OkCaller, PhoneValidator, Freecarrierlookup, Phonelookup\n\n### API Sources (some need free API keys)\n- **OpenSanctions** — sanctions/PEP check. Key from https://www.opensanctions.org/api/ → export OPENSANCTIONS_API_KEY=***\n- **Intelligence X** — historical data. Key from https://intelx.io → export INTELX_API_KEY=*** **URL is " target="_blank" rel="noopener">https://free.intelx.io not https://2.intelx.io**\n- **Have I Been Pwned** — breach data. Key from https://haveibeenpwned.com/API/Key → export HIBP_API_KEY=***\n- **PhoneInfoga** — Google dorks + local scan. Install: curl -sL https://github.com/sundowndev/phoneinfoga/releases/latest/download/phoneinfoga_Linux_x86_64.tar.gz | tar xzf - -C /usr/local/bin/ phoneinfoga\n\n## API Key Setup\n\nKeys are stored in ~/.env. Add them with:\n`bash\necho 'export OPENSANCTIONS_API_KEY=***' >> ~/.env\necho 'export INTELX_API_KEY=***' >> ~/.env\necho 'export HIBP_API_KEY=***' >> ~/.env\n`\n\nThen source before running: source ~/.env\n\n## Output Format\n\nThe tool outputs a markdown report with:\n- Summary (name, carrier, location, line type found across all sources)\n- Data breach matches (HIBP)\n- Sanctions/PEP matches (OpenSanctions)\n- Per-source details with status indicators (✅ ok, ❌ error, ⏭️ skipped, 🔑 needs key)\n\nJSON mode (--json) returns structured data for programmatic use.\n\n## Troubleshooting\n\n- **IntelX returns 0 results**: Free tier may not include phone data. Upgrade at intelx.io.\n- **Epieos returns 403**: JS challenge. FlareSolverr helps but may still fail.\n- **HIBP/OpenSanctions 401**: API key invalid or not set. Check ~/.env.\n- **Web sources timeout**: Some sites block VPS IPs. FlareSolverr helps bypass.\n- **PhoneInfoga not found**: Install pre-built binary (see Sources above). Go install fails due to missing web client dist files.\n\n## Dependencies\n\n- Python 3 with standard library (no pip packages needed)\n- curl, jq (for FlareSolverr)\n- Optional: phoneinfoga binary in /usr/local/bin/\n- Optional: FlareSolverr at " target="_blank" rel="noopener">http://localhost:8191 for JS-heavy sites\n", "path": "phone_osint/SKILL.md", "skill_dir": "/root/.hermes/skills/phone_osint", "linked_files": {"references": ["references/intelx_endpoint.md"]}, "usage_hint": "To view linked files, call skill_view(name, file_path) where file_path is e.g. 'references/api.md' or 'assets/config.yaml'", "required_environment_variables": [], "required_commands": [], "missing_required_environment_variables": [], "missing_credential_files": [], "missing_required_commands": [], "setup_needed": false, "setup_skipped": false, "readiness_status": "available"}
Assistant
Here’s what I found on **312-883-2081**:
**Verified**
- **Country:** USA
- **Area code:** 312 — assigned to **Chicago, Illinois**
- **Central office/exchange:** 883 — assigned to the Chicago NPA, so the full number is consistent with a Chicago metro number
- **Format:** NANP 10-digit tolled/long-distance routing pattern; publicly searchable as 312-883-2081
**Public search findings**
- Main result hits are generic reverse-lookup/aggregator sites.
- No meaningful caller identity, owner name, or usage report showed up on the meaningful sources I checked.
- Some third-party lookup pages pair neighboring 312-883-xxxx numbers with dummy “business” labels; those pages are usually generated from guessed data, not real subscriber records, so I’m not treating them as evidence.
**Breach / risk checks**
- No useful HIBP/OpenSanctions match: the direct HIBP lookup returned 404, and the OpenSanctions endpoint I tried was not usable from the public path.
- I do **not** have confirmed breach exposure showing this specific phone number.
**Bottom line**
- This is a **Chicago, IL number** within the 312/883 exchange.
- Public OSINT so far **does not surface a clear owner or named caller**.
- If you have it in a specific context—unknown call, scam claim, text thread, carrier/billing record—I can target that next: verify it more precisely with号码-carrier routing, match it against the context you give me, or help determine whether it looks spoofed vs. real.