Noureddine RAMDI / X-osint: a modular Python CLI framework orchestrating multiple OSINT APIs

Created Mon, 04 May 2026 10:23:02 +0000 Modified Sat, 23 May 2026 20:41:27 +0000

TermuxHackz/X-osint

X-osint is a Python-based OSINT framework that bundles multiple reconnaissance modules into a single CLI tool. It targets users who want to gather intelligence about IP addresses, emails, phone numbers, subdomains, CVEs, and more by pulling data from a variety of external sources. What stands out about X-osint is its role as an orchestration layer over numerous public OSINT APIs, requiring users to supply their own API keys to unlock its full potential. This dependency model shapes much of the tool’s design and constraints.

what x-osint does and how it is built

At its core, X-osint is a command-line OSINT aggregation tool written in Python. It is designed to run on Termux, Linux, and macOS environments, addressing a broad set of reconnaissance needs typical in OSINT workflows.

The tool organizes its capabilities into a menu-driven interface, where users select numbered options to perform different types of lookups. Modules include IP address intelligence, email enumeration, phone number validation, subdomain discovery, CVE vulnerability lookups, metadata extraction, and even vehicle identification number (VIN) decoding.

Under the hood, X-osint does not reinvent data gathering but rather acts as a unified client for multiple external APIs. It integrates with services like Shodan for IP intelligence, Hunter for email verification, NumVerify and Vonage for phone number data, OpenCageData for geolocation, and Google Cloud for metadata extraction. This aggregation approach allows users to access a wide range of information without individually querying each API.

The architecture is modular, with the main CLI script dispatching commands to specific modules responsible for different data types. The design favors a straightforward menu-driven UX over complex scripting or automation, making it accessible for users who prefer interactive exploration.

Installation is flexible, supporting both a standard pip-based setup and an isolated Python virtual environment approach. This flexibility helps users manage dependency conflicts common in Python projects, especially on diverse platforms like Termux where package versions can vary.

api orchestration and dependency tradeoffs

What sets X-osint apart is its API key dependency model. Unlike tools that scrape websites directly or rely on a single API, X-osint requires users to provision API keys for a suite of external services. This design has clear pros and cons.

The tradeoff is clear: by outsourcing data collection to specialized APIs, X-osint reduces the burden of maintaining scraping logic or parsing unstructured data. Each integrated API is a well-maintained service providing curated, reliable data.

However, this reliance means users must manage multiple API keys and keep track of rate limits, quota exhaustion, and potential costs. The tool itself does not appear to implement sophisticated fallback strategies or handle API rate limiting internally — these responsibilities fall to the user.

The codebase reflects this orchestration role with relatively thin wrappers around API calls, emphasizing rapid data enrichment rather than heavy local processing. This approach keeps the codebase manageable but also means that the tool’s effectiveness is bounded by the availability and generosity of the external APIs’ free tiers.

This dependency model is worth understanding especially in production or extended use, where hitting API limits can abruptly halt data gathering. Users should plan API key usage carefully and consider potential costs if scaling the tool beyond casual use.

The modular code and menu interface make it easy to extend with additional APIs or swap out data sources, but adding fallback or caching mechanisms would be necessary to improve resilience.

quick start with x-osint

The project provides clear installation instructions for various environments, emphasizing both standard and virtual environment setups to handle Python package dependencies. Here’s the installation flow for typical Linux or Termux users:

sudo apt install python3-pip -y
cd $HOME
git clone https://github.com/TermuxHackz/X-osint
cd X-osint
chmod +x *
sudo bash setup.sh
sudo xosint OR python xosint

For Termux users, the commands are similar but omit sudo and replace apt with pkg.

If dependency issues occur, the virtual environment method is recommended:

sudo apt install python3-pip python3-venv -y
cd $HOME
git clone https://github.com/TermuxHackz/X-osint
cd X-osint
chmod +x *.sh
python3 -m venv X-osint_venv
source X-osint_venv/bin/activate
pip install google
sudo bash setup.sh
sudo xosint OR python xosint

Remember to deactivate the virtual environment with deactivate after use.

This setup ensures the tool’s dependencies are isolated, avoiding conflicts with system Python packages.

verdict: who should use x-osint

X-osint is a practical, modular OSINT aggregator suited for security researchers, penetration testers, and hobbyists who want to consolidate data from multiple specialized OSINT APIs into a single CLI interface.

Its API key dependency model is a double-edged sword: it provides access to high-quality data but requires users to manage keys, quotas, and potential costs. This makes it less ideal for users seeking zero-configuration or fully offline OSINT tools.

The menu-driven CLI design favors interactive use rather than automation-heavy workflows, so it’s a good fit for exploratory investigations rather than large-scale data scraping.

The codebase is straightforward and modular, which invites contributors to add new API integrations or improve resilience features like rate limit handling.

Overall, X-osint is a solid orchestration framework that leverages existing OSINT APIs effectively. It’s worth understanding if you work with OSINT frequently and want a flexible, extensible tool that aggregates diverse data sources in one place.


→ GitHub Repo: TermuxHackz/X-osint ⭐ 2,172 · Python