Skip to main content

DumpDork

logo_banner

DumpDork is a small, search-driven OSINT and reconnaissance command-line tool. It searches the web, news, images, and videos through the official Brave Search API, and repositories and code through GitHub's REST API. Queries stay in each provider's native syntax.

Install

The published release is available on PyPI. Install it with pipx (recommended for a command-line tool) or pip:

pipx install dumpdork
# or, inside a virtual environment:
pip install dumpdork
python3 -m venv .venv
.venv/bin/python -m pip install -e .

Run .venv/bin/dumpdork (or activate the environment to use dumpdork). On Windows, the executables are in .venv\Scripts\. You can also run python dumpdork.py from a checkout.

Credentials

Set BRAVE_API_KEY for Brave searches and GITHUB_TOKEN for GitHub code search and better GitHub rate limits. GitHub repository search can run without a token. Environment variables override ~/.config/dumpdork/config.yaml. Use dumpdork -w to save credentials privately and interactively. See API_SETUP_GUIDE.md. Never put real keys in the repository's example config.yaml.

dumpdork 'site:*.example.com (intitle:"Swagger UI" OR inpage:"OpenAPI")' # Brave Web (default)
dumpdork -s brave --brave-type news --brave-freshness pw 'supply chain'
dumpdork -s brave --brave-type images --brave-count 100 -l 100 'public satellite imagery'
dumpdork -s brave --brave-type videos --brave-country AR 'security conference'
dumpdork --brave-paginate -l 100 'site:example.com' # explicitly fetch additional pages
dumpdork --brave-result-filter web,discussions --brave-extra-snippets 'topic'
dumpdork -s github --github-type repo 'topic:osint language:python'
dumpdork -s github --github-type code 'filename:config.php DB_PASSWORD'

-s brave and --brave-type web are the defaults. Brave fetches one page per search, even with a high --limit. To fetch more pages, use --brave-paginate -l N.

Without --limit, the result cap matches one Brave page: 20 for Web, 50 for News/Videos, or 200 for Images. GitHub defaults to 50 and keeps its own pagination behavior. --limit caps normalized results across all returned sections, not just web links.

Use --brave-count to set the number of results per page and --brave-offset to choose the starting page (0–9). Images do not support pagination. If a one-page search returns fewer results than requested and more pages are available, JSON reports incomplete: true. When pagination is enabled, DumpDork follows Brave's query.more_results_available and deduplicates overlapping results. Brave pagination.

Run dumpdork -h to see all --brave-* options. They include language, location, safe search, freshness, result filters, Goggles, and response options. Unsupported options for a search type are rejected before any API request.

Boolean flags have a --no- form, such as --no-brave-spellcheck. Prefer repeatable --brave-goggle (up to three) over the deprecated --brave-goggles-id.

Rich callback responses provide a hint; DumpDork does not call the separate Rich endpoint. For option details, see Brave's Web, News, Images, and Videos references.

Brave search operators

Put these operators directly in the query; DumpDork passes them through to Brave without translating Google dorks. The table follows Brave's Search API operator reference.

Operator What it does Example
ext: Filter by file extension config ext:yaml
filetype: Filter by file type report filetype:pdf
intitle: Match text in the page title intitle:documentation
inbody: Match text in the page body inbody:"security policy"
inpage: Match text in the title or body inpage:configuration
lang: / language: Filter by page language (two-letter code) research lang:es
loc: / location: Filter by country or region (two-letter code) research loc:ar
site: Restrict results to a domain or site site:example.com policy
+ Require a term in the title or body assets +inventory
- Exclude a term assets -advertising
"..." Match an exact phrase "responsible disclosure"
AND Require both conditions policy AND site:example.com
OR Match either condition filetype:yaml OR filetype:json
NOT Exclude a condition research NOT site:example.com

Write AND, OR, and NOT in uppercase. Brave describes operators as experimental, so complex combinations may not behave exactly like Google dorks; intext: and wildcard domains such as site:*.com are not listed in Brave's reference. Use inbody: or inpage: for text matching. --no-brave-operators disables Brave's operator interpretation for a query.

GitHub search qualifiers

Select -s github --github-type repo or -s github --github-type code. DumpDork sends the query unchanged to GitHub's REST search endpoints. These are common qualifiers from GitHub's repository search and legacy code search documentation; see those references for the full lists.

Repository search (--github-type repo):

Qualifier What it does Example
in:name, in:description, in:topics, in:readme Choose which repository fields to search osint in:name,description
user:, org:, repo: Restrict by owner, organization, or repository topic:osint org:github
language: Filter by primary repository language osint language:python
topic: Filter by repository topic topic:threat-intelligence
stars:, forks: Filter by star or fork count topic:osint stars:>=100
size: Filter by repository size in KB osint size:100..1000
created:, pushed: Filter by creation or last-push date osint pushed:>=2025-01-01
license: Filter by license keyword osint license:apache-2.0
fork:true, fork:only Include forks or search only forks topic:osint fork:true
archived:, mirror:, template: Filter by repository state topic:osint archived:false
is:public, is:private Filter by visibility (subject to your access) osint is:public

Code search (--github-type code) uses the legacy REST API syntax, not the newer GitHub.com code-search syntax:

Qualifier What it does Example
in:file, in:path, in:file,path Search file contents, paths, or both config in:file,path
user:, org:, repo: Restrict by owner, organization, or repository settings repo:owner/project
path: Restrict to a directory; path:/ means repository root settings path:config
language: Filter by file language parser language:python
size: Filter by file size in bytes parser size:<10000
filename: Match a filename filename:config.yml settings
extension: Match a file extension settings extension:yaml

Numeric and date qualifiers support comparisons such as >, >=, <, and ranges such as 100..500; keep the entire query quoted in your shell so < and > are not interpreted as redirection. GitHub code search requires a token in DumpDork, indexes only default branches and files smaller than 384 KB, and generally needs a search term alongside qualifiers. Repository-only qualifiers such as stars: do not apply to code search. The newer content: qualifier is not supported by the REST code endpoint; DumpDork rejects it. --include-commits fetches three recent commits once per distinct repository.

Output and rate limits

Terminal text is the default. The original banner appears on interactive runs, not -h, and goes to stderr so stdout remains pipeline-friendly. JSON and JSONL have no banner or notices on stdout.

dumpdork 'site:example.com' --format json | jq '.results[].url'
dumpdork 'site:example.com' --format jsonl | jq -r '.url'
dumpdork 'site:example.com' -o results.json
dumpdork 'site:example.com' -o provider-pages.json --raw

With -o, DumpDork writes normalized JSON by default. Use --format jsonl for one result per line, or --raw to save redacted provider responses. Raw output also contains non-link Brave sections such as infoboxes.

Normalized JSON uses schema_version: 2. It includes the query, source, search type, status, counts, optional effective_query, and a results array. Results include a URL, title, source, kind, matched query, observation time, and optional snippet, repository, path, and metadata. Encoded URLs are preserved.

With --brave-paginate, DumpDork uses Brave's per-second rate-limit headers to pace requests. It does not retry failed requests or wait for a long quota reset. If a later page fails, collected results are kept with status partial. A one-page search avoids later-page errors, but its first request can still fail if quota is exhausted. Brave rate-limit guide.

Errors distinguish authentication, authorization, rate limits, quota, invalid queries, network failures, and malformed responses. Exit codes are 0 for success (even with no results), 1 for failure, 2 for invalid CLI usage, and 3 for partial results. Enable pipefail if you want a pipeline with jq to report DumpDork's exit code.

Queries are passed through without rewriting. Brave documents inbody: rather than Google's intext:. See the search operators.

License

DumpDork is licensed under Apache License 2.0; see LICENSE.

Metadata

Release files for dumpdork 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dumpdork 2.0.0
File Size Uploaded
dumpdork-2.0.0.tar.gz 28.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dumpdork 2.0.0
File Interpreter ABI Platform
dumpdork-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 56.7 kB

Release files / dumpdork-2.0.0.tar.gz

Download URL dumpdork-2.0.0.tar.gz
Size 28.2 kB
Tags Source
SHA-256 checksum
How to use checksums
24ccbedab79fd2928575fd6da23918cd3835a2e41e35b17a951a1f35e8d6b4a6
BLAKE2b-256 checksum
How to use checksums
fccf5ad7795673c537ebc4af3bcf5ca33d6d4e0b0401d2cfcc1e8ee6ae5b10fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

Release files / dumpdork-2.0.0-py3-none-any.whl

Download URL dumpdork-2.0.0-py3-none-any.whl
Size 28.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7c632492153a2b28acbdd73e0214d76fed09d93d8fb80f4864f7630c22af0486
BLAKE2b-256 checksum
How to use checksums
d48be3d6d8ccc2af8ce14185dfb56d1ba4e457a5cd7e7359d3a0ba70a5bb302b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page