Information gathering & OSINT reconnaissance tool for phone numbers.

One of the most advanced tools to scan phone numbers using only free resources. The goal is to first gather basic information such as country, area, carrier and line type on any international phone numbers with very good accuracy. Then try to determine the VoIP provider or search for footprints on search engines to try to identify the owner.


  • Check if phone number exists and is possible
  • Gather standard information such as country, line type and carrier
  • Check several numbers at once
  • OSINT reconnaissance using external APIs, Google Hacking, phone books & search engines
  • Use custom formatting for more effective OSINT reconnaissance


The tool only accepts E164 and International formats as input.

  • E164: +3396360XXXX
  • International: +33 9 63 60 XX XX
  • National: 09 63 60 XX XX
  • RFC3966: tel:+33-9-63-60-XX-XX
  • Out-of-country format from US: 011 33 9 63 60 XX XX

Available scanners

Use any to disable this feature. Default value: all

  • numverify
  • ovh

Changelog v1.0.0

  • [Fix #15] Add exception on tempophone API call
  • Added disposable number footprints
  • Added .xls extension for document footprinting
  • Created a script to generate example outputs
  • Added --no-ansi option to disable color output
  • Improved document footprinting
  • Asking to rerun OSINT scan (e.g: to use a different format) before exiting
  • Moved the full usage documentation to the wiki
  • [Hotfix] Added exception on Numverify scan & updated user agents
  • [Fix #24] Use local scan find country code instead of using third party API
  • Improved code base with better error handling and debugging


git clone
cd ./PhoneInfoga
pip3 install -r requirements.txt


usage: -n <number> [options]

Advanced information gathering tool for phone numbers

optional arguments:
  -h, --help            show this help message and exit
  -n number, --number number
                        The phone number to scan (E164 or International
  -i input_file, --input input_file
                        Phone number list to scan (one per line)
  -o output_file, --output output_file
                        Output to save scan results
  -s scanner, --scanner scanner (any to skip, default: all)
                        The scanner to use
  --osint               Use OSINT reconnaissance
  -u, --update          Update the tool & databases

Example (quotes are optional, use it when typing special formats) :

python -n "(+42)837544833"

Check for a number range on OVH :

python -n +42837544833 -s ovh

Check several numbers at once :

python ./ -i numbers.txt -o results.txt

Note: –osint is not compatible with –output option.

Use all scanners and run OSINT reconnaissance :

python -n +42837544833 -s all --osint


E.164 formatting for phone numbers entails the following:

  • A + (plus) sign
  • International Country Calling code
  • Local Area code
  • Local Phone number

For example, here’s a US-based number in standard local formatting: (415) 555-2671

Here’s the same phone number in E.164 formatting: +14155552671

In the UK, and many other countries internationally, local dialling may require the addition of a ‘0’ in front of the subscriber number. With E.164 formatting, this ‘0’ must usually be removed.

For example, here’s a UK-based number in standard local formatting: 020 7183 8750

Here’s the same phone number in E.164 formatting: +442071838750


Copyright (C) 2018 sundowndev