{"id":27836,"library":"ghunt","title":"GHunt","description":"An offensive Google framework that provides modules to gather information from Google services. Current version 2.3.4, requires Python >=3.10. Released actively, with major refactors in v2.0.0 (async, CLI, library usage) and v2.1.0 (replaced cookies with OAuth token).","status":"active","version":"2.3.4","language":"python","source_language":"en","source_url":"https://github.com/mxrch/GHunt","tags":["google","osint","offensive security","async"],"install":[{"cmd":"pipx install ghunt","lang":"bash","label":"Recommended via pipx"},{"cmd":"pip install ghunt","lang":"bash","label":"Alternative via pip"}],"dependencies":[],"imports":[{"note":"Core class to interact with GHunt programmatically.","wrong":"","symbol":"GHuntLib","correct":"from ghunt.core import GHuntLib"},{"note":"Handles OAuth authentication.","wrong":"","symbol":"auth","correct":"from ghunt.auth import Auth"},{"note":"Module to geolocate BSSIDs (v2.2.0+).","wrong":"","symbol":"geolocate","correct":"from ghunt.modules.geolocate import geolocate"}],"quickstart":{"code":"import asyncio\nfrom ghunt.auth import Auth\nfrom ghunt.core import GHuntLib\n\nasync def main():\n    auth = Auth()\n    await auth.load()  # loads existing credentials or starts OAuth flow\n    ghunt = GHuntLib(auth)\n    result = await ghunt.search(\"example@gmail.com\")\n    print(result)\n\nasyncio.run(main())","lang":"python","description":"Asynchronous example of using GHunt as a library. Requires authentication via OAuth (run `ghunt auth` first)."},"warnings":[{"fix":"Run `ghunt auth` to generate OAuth token. Remove any cookie files.","message":"v2.1.0 removed cookie-based authentication entirely. OAuth token is now required.","severity":"breaking","affected_versions":"<2.1.0"},{"fix":"Rewrite code to use async/await and the new library API. See GitHub README for migration.","message":"v2.0.0 refactored the entire library - async, new CLI, new API. All v1 scripts are incompatible.","severity":"breaking","affected_versions":"<2.0.0"},{"fix":"Check token expiry with `ghunt auth check` or reauthenticate before running modules.","message":"OAuth token (Android token) expires after a certain period. You must re-run `ghunt auth` periodically.","severity":"gotcha","affected_versions":">=2.1.0"},{"fix":"Use a personal Google account (not G Suite/Workspace with restrictions).","message":"Not all Google accounts work; GHunt requires an account with Google's 'multilogin' OAuth flow enabled (typically Android-style tokens).","severity":"gotcha","affected_versions":">=2.1.0"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"Install using pipx: `pipx install ghunt`. If using pip, ensure the environment is activated.","cause":"GHunt not installed or installed in a different environment.","error":"ModuleNotFoundError: No module named 'ghunt'"},{"fix":"Use `ghunt help` to see available modules, then run e.g. `ghunt search <email>`.","cause":"Running `ghunt` without specifying a module.","error":"ghunt: error: the following arguments are required: module"},{"fix":"Run `ghunt auth` and follow the prompts to generate an OAuth token.","cause":"No credentials file exists. Authentication must be performed before using GHunt.","error":"OAuth token not found. Run ghunt auth first."}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}