Where to Find Tool Listings for Specific OSINT Categories in Legendary OSINT

TLDR: Legendary OSINT stores its curated tool inventory as individual Markdown files inside the docs/ directory, with each file dedicated to a specific investigative domain such as People & Social, Maritime, or Malware & CTI.

The K2SOsint/Legendary_OSINT repository maintains a comprehensive collection of open-source intelligence tools organized by investigative focus. Rather than storing tools in a database or JSON file, the project uses a simple Markdown-based architecture that makes tool listings for specific OSINT categories easily accessible and searchable. This flat-file approach allows investigators to quickly locate resources for everything from social media reconnaissance to maritime tracking without navigating complex interfaces.

Directory Structure and File Organization

The repository root contains a docs/ folder that houses all category-specific tool listings. According to the Legendary OSINT source code structure, each investigative specialty receives its own dedicated Markdown file named after the domain it covers.

Key category files include:

OSINT Category File Path Description
People & Social docs/people-social.md Social media and people-centric investigation tools
Maritime docs/maritime.md Ship tracking and maritime intelligence utilities
Malware & CTI docs/malware-cti.md Cyber threat intelligence and malware analysis
Infrastructure & Domains docs/infra-domains.md DNS, domain reconnaissance, and network infrastructure
Video OSINT docs/video-osint.md Video analysis and metadata extraction tools
News & Media docs/news-media.md Media monitoring and news verification resources

Markdown Format and Tool Entries

Inside each file, tools follow a consistent bullet-point format. Each entry typically includes the tool name as a hyperlink, followed by a dash and brief description. For example, entries in docs/maritime.md appear as:

- [Cruisin.me Tracker](http://www.cruisin.me/cruise-ship-tracker) — Real-time cruise ship tracking

This standardized structure enables both human reading and programmatic parsing.

Accessing Tool Listings from the Command Line

Because the tool listings are plain text Markdown, you can search them using standard Unix utilities without loading a database or application.

To extract all tool entries from a specific category:


# List every tool in the People & Social category

grep '^- ' docs/people-social.md

This pattern matches lines beginning with a dash and space, which corresponds to bullet-point entries in the Markdown files.

Programmatically Parsing Category Files

For automation workflows, you can parse these Markdown files using Python to extract structured data. The consistent format allows regex patterns to capture tool names, URLs, and descriptions.

import re
from pathlib import Path

def load_tools(category_file: str) -> dict:
    """Parse a category Markdown file into a dictionary of tools."""
    tools = {}
    content = Path(category_file).read_text()
    
    for line in content.splitlines():
        if line.startswith('- '):
            # Extract markdown link [name](url) — description

            match = re.search(r'\[(.+?)\]\((.+?)\)\s*—\s*(.+)', line)
            if match:
                name, url, desc = match.groups()
                tools[name] = {"url": url, "description": desc}
    return tools

# Load People & Social tools

people_tools = load_tools('docs/people-social.md')
print(f"Loaded {len(people_tools)} tools from People & Social category")

Retrieving Specific Tool URLs

You can extend this approach to build lookup functions for specific tools:

def get_tool_url(category_file: str, tool_name: str) -> str | None:
    """Retrieve the URL for a specific tool by name."""
    tools = load_tools(category_file)
    tool = tools.get(tool_name)
    return tool["url"] if tool else None

# Example: Get maritime tool URL

url = get_tool_url('docs/maritime.md', 'Cruisin.me Tracker')
print(url)  # Output: http://www.cruisin.me/cruise-ship-tracker

Summary

  • Tool listings for specific OSINT categories reside in the docs/ directory as individual Markdown files
  • Each file follows the naming convention {category-name}.md (e.g., people-social.md, maritime.md)
  • Entries use standard Markdown bullet points with hyperlinks and descriptions
  • The flat-file structure supports both manual browsing and programmatic access via grep, ripgrep, or Python scripts
  • Categories cover domains including People & Social, Maritime, Malware & CTI, Infrastructure & Domains, Video OSINT, and News & Media

Frequently Asked Questions

How are tools organized in Legendary OSINT?

Tools are organized by investigative domain into separate Markdown files within the docs/ folder. Each file represents a distinct OSINT category, such as docs/malware-cti.md for cyber threat intelligence tools or docs/infra-domains.md for infrastructure reconnaissance resources.

Can I search tool listings programmatically?

Yes. Because the tool listings are plain Markdown files, you can search them using command-line tools like grep or ripgrep, or parse them using Python, Ruby, or any language that supports regex. The consistent bullet-point format makes it straightforward to extract tool names, URLs, and descriptions programmatically.

What categories are available in the docs folder?

The repository includes categories such as People & Social (people-social.md), Maritime (maritime.md), Malware & CTI (malware-cti.md), Infrastructure & Domains (infra-domains.md), Video OSINT (video-osint.md), and News & Media (news-media.md). The repository maintains additional specialized categories as the project expands.

How do I contribute new tools to a specific category?

To contribute a new tool, locate the appropriate Markdown file in docs/ that matches the tool's investigative domain, then add a new bullet point following the existing format: - [Tool Name](URL) — Description. The README.md file at the repository root contains detailed contribution guidelines for the K2SOsint/Legendary_OSINT project.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →