July 29, 2026
Automating Google Dorking Across Multiple Search Engines for Faster Recon
How I Used XNLDorker to Discover Hidden Endpoints Across Multiple Search Engines

By Monika
4 min read
When I started learning bug bounty, I realized that finding interesting targets was often more difficult than testing them. Search engine dorks are one of the best ways to discover exposed files, login pages, API endpoints, and other valuable assets. The problem is that checking the same dork across multiple search engines manually takes time.
While looking for a better solution, I found XNLDorker, an open source tool created by XNL-h4ck3r. After using it on my Kali Linux machine, I found that it made the dorking process much faster and easier.
In this article, I'll show what XNLDorker does, how I installed it, and how I used it to collect search results from different search engines.
What is XNLDorker?
XNLDorker is a Python based command line tool that runs a single dork across multiple search engines and collects the results in one place.
Instead of searching manually on Google, DuckDuckGo, Yahoo, Startpage, or other supported search engines one by one, XNLDorker automates the process and saves the discovered URLs.
It currently supports multiple search providers, including Google, DuckDuckGo, Yahoo, Startpage, Yandex, Baidu, Seznam, Kagi, and several others. Some sources may require solving CAPTCHAs or have limitations because of bot detection
Why I Decided to Use It
Before using XNLDorker, I searched every dork manually.
That approach had a few problems:
- It took a lot of time.
- Every search engine returned different results.
- Managing dozens of browser tabs became frustrating.
- Saving and organizing discovered URLs was difficult.
XNLDorker solved most of these problems by collecting everything automatically.
Installation
I installed the tool on Kali Linux.
pip install xnldorkerpip install xnldorkerIf you're using newer versions of Kali Linux, you may encounter the PEP 668 (externally managed environment) error while installing Python packages globally.
Creating a virtual environment before installation solves this problem and keeps your Python packages isolated.
Running My First Search
My first test was simple.
Since no advanced search operator was used, the tool automatically treated the input as:
xnldorker -i bing.com -vxnldorker -i bing.com -v
Since no advanced search operator was used, the tool automatically treated the input as:
site:example.comsite:example.comThis saved me from writing the full dork manually every time.
Searching for PHP Endpoints
I wanted to search for PHP files.
xnldorker -i "site:example.com ext:php" -s google -v -o php_endpoints.txtxnldorker -i "site:example.com ext:php" -s google -v -o php_endpoints.txt
This command search engine and saved the discovered URLs into a text file.
Having the results stored automatically makes it much easier to review them later.
Features I Liked
After using the tool, these features stood out:
- Search multiple search engines from one command.
- Save results directly into a file.
- Support for custom dorks.
- Ability to choose specific search engines.
- Verbose mode for debugging.
- Browser mode for solving CAPTCHA challenges.
- Proxy support.
- Duplicate results are automatically handled.
These features make it useful during the reconnaissance phase of a security assessment.
Things You Should Know
Although the tool works well, there are a few things to keep in mind.
Some search engines use anti-bot protection, so you may occasionally see CAPTCHA pages.
I recommends using the browser mode (-sb) when necessary so you can manually complete CAPTCHA verification before the scan continues. Different search engines also support different search operators, so not every dork works exactly the same everywhere.
My Experience
After spending some time testing XNLDorker, I found it much more convenient than manually repeating the same searches across different search engines.
I especially liked that it can collect results from several sources and save them automatically, making it easier to review interesting URLs later.
For anyone learning reconnaissance or bug bounty, it is a useful addition to a toolkit, provided it is used responsibly and only against systems you are authorized to test.
Using Your Own Dork List
In the previous example, I searched for PHP endpoints using:
xnldorker -i "site:example.com ext:php" -sb -v -o php_endpoints.txtxnldorker -i "site:example.com ext:php" -sb -v -o php_endpoints.txtHowever, you don't have to limit yourself to a single dork.
One of the features I found most useful is that you can create your own dork list and run multiple searches one after another. This is especially helpful during reconnaissance because different dorks often reveal different types of publicly indexed resources.
For example, you can prepare a file like dorks.txt containing queries such as
site:example.com ext:php
site:example.com ext:sql
site:example.com ext:log
site:example.com intitle:"index of"
site:example.com inurl:adminsite:example.com ext:php
site:example.com ext:sql
site:example.com ext:log
site:example.com intitle:"index of"
site:example.com inurl:adminYou can also use the excellent Google Dork Cheatsheet created by sundowndev to explore many more search operators and build your own custom dorks. It includes commonly used operators such as site:, inurl:, intitle:, filetype:, allinurl: and many others
https://gist.github.com/sundowndev/283efaddbcf896ab405488330d1bbc06
Once your dork list is ready, simply run:
xnldorker -i dorks.txt -v -o recon_results.txtxnldorker -i dorks.txt -v -o recon_results.txtThis makes the workflow much easier because all discovered URLs are collected into a single output file. Instead of copying results from different browser tabs or running separate commands for every dork, you have everything organized in one place.
For me, this saved a lot of time during reconnaissance. Having all the discovered URLs in one file made it much easier to review interesting endpoints, identify exposed files, and prioritize which pages to investigate further. While the tool doesn't find vulnerabilities by itself, it helps streamline the reconnaissance process by keeping your findings organized. Always use it only on systems you own or are explicitly authorized to test.
Final Thoughts
XNLDorker doesn't magically find vulnerabilities, but it does make the reconnaissance process faster and more organized.
If you regularly use Google Dorks during bug bounty hunting or security research, this tool can save time by querying multiple search engines and keeping the results in one place.
As always, use it ethically and only on systems where you have permission to perform security testing.
Repository
GitHub Repository:
GitHub - xnl-h4ck3r/xnldorker: Gather results of dorks across a number of search engines Gather results of dorks across a number of search engines - xnl-h4ck3r/xnldorker
THANK YOU ✨