Skip to main content

PhoneTracer ⚡️

OSINT Phone Number Metadata Toolkit

PhoneTracer is a modular Python toolkit for extracting public, non-invasive metadata from phone numbers using Google’s libphonenumber (via the phonenumbers library).

❗ PhoneTracer does NOT track phones, reveal owners, or provide live locations.

PyPI version

Python versions


✨ Features

  • 📞 Phone number parsing & validation
  • 🌍 Country / region identification
  • 🏷 Carrier lookup (when available)
  • 🕒 Timezone detection
  • 🧠 Spam-style heuristic scoring
  • 📄 Scan numbers from text files
  • 📊 JSON export
  • 🖥 Argument-based CLI
  • 📟 Interactive command-line menu
  • 🪟 Desktop GUI (Tkinter)
  • 🧪 Built-in tests
  • 🤖 GitHub Actions CI

🧱 Project Architecture


phone_tracer/
│
├── main.py        # Mode selector (entry point)
├── core.py        # Shared logic (analysis, logging, export)
├── cli_args.py    # Argument-based CLI mode
├── cli_menu.py    # Interactive command-line menu
├── gui_app.py     # GUI (Tkinter)
│
├── tracer.log     # Runtime logs
└── .github/
    └── workflows/
        └── python-ci.yml


🚀 Getting Started

Requirements

  • Python 3.7+

Install dependency

pip install phonenumbers

▶️ Usage

Start PhoneTracer

python main.py

You will be prompted to choose:

1. Argument mode
2. Command-line menu
3. GUI

🔹 Argument Mode

python main.py
# choose option 1

Then use:

python cli_args.py -n "+91 9513717169"
python cli_args.py -f numbers.txt

🔹 Command-line Menu

python main.py
# choose option 2

Interactive menu-driven interface.


🔹 GUI Mode

python main.py
# choose option 3

Simple desktop UI built with Tkinter.


📂 Output

All scan results are exported as JSON files:

YYYYMMDD_HHMMSS_<PHONE>.json

🧠 Spam Heuristics

PhoneTracer assigns a spam score based on simple patterns:

  • Repeated digits
  • Excessive zeros
  • Abnormal formatting

This is only an indicator, not a classification.


🤖 Continuous Integration

GitHub Actions automatically:

  • Installs dependencies
  • Runs core sanity tests
  • Ensures CLI paths load correctly

Workflow file:

.github/workflows/python-ci.yml

🔐 Privacy & Ethics

  • ❌ No phone tracking
  • ❌ No subscriber identification
  • ❌ No surveillance techniques
  • ✅ Metadata-only analysis

Use responsibly and legally.


📜 License

MIT License Educational & research use is encouraged.


⭐ If you find this project useful, consider starring the repository!

Metadata

Release files for phonetracer 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for phonetracer 0.1.0
File Size Uploaded Provenance
phonetracer-0.1.0.tar.gz 6.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for phonetracer 0.1.0
File Interpreter ABI Platform
phonetracer-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 15.6 kB

Release files / phonetracer-0.1.0.tar.gz

Download URL phonetracer-0.1.0.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
d4c24eecb3ccc489b71f65ae4eeebc387e6a171985813025789d04b20cf706e7
BLAKE2b-256 checksum
How to use checksums
88f48f32104ea6dbede77af47fc22d722a907f2a91acb3e7cc4f1f4561f9411c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.0

Release files / phonetracer-0.1.0-py3-none-any.whl

Download URL phonetracer-0.1.0-py3-none-any.whl
Size 8.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e5720ebc83bbb017937f4c265548c48604872e2c85d478c1ec60a62b5b4d3cf1
BLAKE2b-256 checksum
How to use checksums
1edd94105617f0ad745c51bdbc9a7f8ceb2bfc322e80285298ea64da0b4369bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.0

Security for phonetracer 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page