Skip to main content

Overview

OathNet provides instant OSINT lookups for 10+ platforms. Get user profiles, account history, and cross-platform links with a single API call.

Available Services

Common Parameters

All OSINT endpoints accept:
ParameterTypeDescription
search_idstringSearch session ID for grouped lookups

Response Format

All OSINT endpoints return:
{
  "success": true,
  "message": "Description of result",
  "data": { ... },
  "lookups_left": 999,
  "search_session": {
    "id": "sess_abc123"
  }
}

Rate Limits

OSINT endpoints have per-service rate limits:
ServiceRequests/MinuteDaily Limit
IP Info60Unlimited
Steam301,000
Xbox301,000
Discord301,000
Roblox301,000
Holehe10500
GHunt10500

Cross-Platform Investigation

Combine multiple lookups for comprehensive profiles:
import requests

API_KEY = "YOUR_API_KEY"
HEADERS = {"x-api-key": API_KEY}

def investigate_discord_user(discord_id):
    """Build a comprehensive profile from a Discord ID."""

    # Get Discord info
    discord = requests.get(
        "https://oathnet.org/api/service/discord-userinfo",
        params={"discord_id": discord_id},
        headers=HEADERS
    ).json()

    print(f"Discord: {discord['data']['username']}")
    print(f"Created: {discord['data']['creation_date']}")

    # Get username history
    history = requests.get(
        "https://oathnet.org/api/service/discord-username-history",
        params={"discord_id": discord_id},
        headers=HEADERS
    ).json()

    print(f"Previous names: {[h['name'] for h in history['history']]}")

    # Check for linked Roblox
    roblox_link = requests.get(
        "https://oathnet.org/api/service/discord-to-roblox",
        params={"discord_id": discord_id},
        headers=HEADERS
    ).json()

    if roblox_link["success"] and roblox_link["data"].get("roblox_id"):
        roblox_id = roblox_link["data"]["roblox_id"]

        # Get Roblox profile
        roblox = requests.get(
            "https://oathnet.org/api/service/roblox-userinfo",
            params={"user_id": roblox_id},
            headers=HEADERS
        ).json()

        print(f"Linked Roblox: {roblox['data']['username']}")
        print(f"Roblox ID: {roblox_id}")

    return {
        "discord": discord["data"],
        "history": history["history"],
        "roblox": roblox["data"] if roblox_link["success"] else None
    }

# Run investigation
profile = investigate_discord_user("123456789012345678")

Error Handling

OSINT endpoints may return errors for:
  • Invalid IDs: Malformed platform identifiers
  • Not Found: Account doesn’t exist
  • Rate Limited: Too many requests
  • Unavailable: External service temporarily down
response = requests.get(
    "https://oathnet.org/api/service/discord-userinfo",
    params={"discord_id": "invalid"},
    headers=HEADERS
).json()

if not response["success"]:
    print(f"Error: {response['message']}")

Search Sessions

Group OSINT lookups with search sessions for better tracking