Updated Jul 15, 2026

Discovery

Collect known URLs without touching the target

Passive URL collection from public discovery sources.

Agent

overview

What urlfinder does

urlfinder builds a URL map for a domain from public sources. Pass -list with a target or domain file; optionally enable -all sources, then trim with -match and -filter before active stages see the set.

Use it early when you want archive and OSINT coverage without crawling the live site. Scope with -field-scope, -url-scope, and -sources; emit -jsonl when the next node expects structured lines.

Trickest provides urlfinder as a managed Discovery node. Take FILE and FOLDER into urldedupe, then httpx or a fuzzer. Prefer katana when you need an active crawl instead of passive collection.

source github.com/projectdiscovery/urlfinder

use cases

Where urlfinder fits

Seed an endpoint list passively

Gather every URL the archives and OSINT sources know for a domain, building a wide endpoint map with no requests to the target.

Scope results to the right domain boundary

Set field-scope to domain, root domain, or FQDN so the URL set stays inside the assets you actually care about.

Filter and match by regex

Use match and filter regexes to keep only URLs of interest, dropping the long tail of noise before it reaches the next stage.

Feed a probe-and-fuzz pipeline

Emit JSONL and pass the URLs to urldedupe and then a prober or fuzzer, so active testing runs against a clean, deduplicated set.

reference

urlfinder inputs and flags

29 inputs
NameTypeFlagDescription
allBOOLEAN-alluse all sources for enumeration (slow)
listFILE-listtarget domain / list to find urls for
jsonlBOOLEAN-jsonlwrite output in JSONL(ines) format
matchSTRING-matchurl to match (comma separated)
proxySTRING-proxyhttp proxy to use with urlfinder
statsBOOLEAN-statsreport source statistics
configFILE-configflag config file

Showing key inputs. urlfinder exposes 29 inputs in total.

Full flag reference (29 inputs)
NameTypeFlagDescription
allBOOLEAN-alluse all sources for enumeration (slow)
listFILE-listtarget domain / list to find urls for
jsonlBOOLEAN-jsonlwrite output in JSONL(ines) format
matchSTRING-matchurl to match (comma separated)
proxySTRING-proxyhttp proxy to use with urlfinder
statsBOOLEAN-statsreport source statistics
configFILE-configflag config file
filterSTRING-filterurl to filter (comma separated)
silentBOOLEAN-silentshow only urls in output
sourcesSTRING-sourcesspecific sources for discovery (e.g., -s alienvault,commoncrawl)
timeoutSTRING-timeoutseconds to wait before timing out (default 30)
verboseBOOLEAN-vshow verbose output
max-timeSTRING-max-timeminutes to wait for enumeration results (default 10)
no-colorBOOLEAN-no-colordisable color in output
no-scopeBOOLEAN-no-scopedisables host based default scope
url-scopeSTRING-url-scopein scope url regex to be followed by urlfinder
match-fileFILE-matchlist of urls to match
rate-limitSTRING-rate-limitmaximum number of http requests to send per second (global)
field-scopeSTRING-field-scopepre-defined scope field (dn,rdn,fqdn) or custom regex (e.g., '(company-staging.io|company.com)') (default "rdn")
filter-fileFILE-filterlist of urls to filter
list-sourcesBOOLEAN-list-sourceslist all available sources
url-out-scopeSTRING-url-out-scopeout of scope url regex to be excluded by urlfinder
url-scope-fileFILE-url-scopein scope url regex to be followed by urlfinder
collect-sourcesBOOLEAN-collect-sourcesinclude all sources in the output (-json only)
exclude-sourcesSTRING-exclude-sourcessources to exclude (e.g., -es alienvault,commoncrawl)
provider-configFILE-provider-configprovider config file
display-out-scopeBOOLEAN-display-out-scopedisplay external endpoint from scoped crawling
rate-limit-sourceSTRING-rate-limitsmaximum number of http requests to send per second for providers in key=value format (-rls hackertarget=10/m) (default ["waybackarchive=15/m"])
url-out-scope-fileFILE-url-out-scopeout of scope url regex to be excluded by urlfinder

example

Run urlfinder

urlfinder · command
# urlfinder: passively collect URLs for example.comurlfinder -list domains.txt -all -jsonl -o urls.jsonl
sample output
https://www.example.com/https://www.example.com/loginhttps://api.example.com/v1/healthhttps://dev.example.com/debughttps://static.example.com/app.jshttps://www.example.com/admin

guidance

Choosing urlfinder

Use urlfinder to build a passive URL map of a domain from archives and OSINT before any active scanning. It sends no traffic to the target. Run it early, then deduplicate with urldedupe and probe or fuzz the survivors. For active in-browser crawling instead of passive collection, use katana.

gau

Pulls archive URLs from Wayback and Common Crawl. urlfinder spans more sources with built-in scoping.

waymore

Deep Wayback harvesting. urlfinder covers a broader OSINT source set with built-in scoping.

katana

Active crawler that renders the app. urlfinder is passive and touches nothing.

faq

urlfinder questions

Yes. It collects URLs from archives, certificate data, and OSINT sources, sending no traffic to the target host.

Run urlfinder yourself

A domain feeds urlfinder, which gathers known URLs from passive sources and passes them to urldedupe for collapsing before they land as a queryable output.

Facts on this page come from the live Trickest tool library.