Updated Jul 15, 2026

Discovery

Map URLs, forms, and JS endpoints from a seed

Go web crawler for links, forms, and JS endpoints.

Agent

overview

What gospider does

gospider walks a seed site (-s) or site list (-S) and collects reachable URLs, forms, and parameters to a set recursion depth (-d).

Keep --js on for linkfinder over scripts. -a merges Archive.org, CommonCrawl, VirusTotal, and AlienVault. Scope with --whitelist, --blacklist, and --subs; pace with -t, -c, and -k.

Trickest provides gospider as a managed Discovery node. Folder out, optionally --json. Chain after subdomain discovery into httpx. Prefer katana for headless rendering; gau for passive archives only.

source github.com/jaeles-project/gospider

use cases

Where gospider fits

Crawl a site for its URL and parameter surface

Point gospider at a host to walk links and forms to a set depth and collect every reachable URL, including parameterized routes the next stage can probe or fuzz.

Recover endpoints from JavaScript

Keep linkfinder on so gospider parses script files for API routes and links that never appear in static HTML.

Pull URLs from third-party archives

Enable third-party sources to merge URLs from Archive.org, CommonCrawl, VirusTotal, and AlienVault into the live crawl results.

Keep a wide crawl in scope

Use whitelist and blacklist regexes plus subdomain controls so a deep, multi-site crawl stays inside the assets you are testing.

reference

gospider inputs and flags

31 inputs
NameTypeFlagDescription
site-to-crawlSTRING-sSingle site URL to crawl.
sites-list-to-crawlFILE-SFile of sites to crawl in one run.
max-recursion-depthSTRING-dMaximum recursion depth of visited URLs (0 for infinite).
number-of-threadsSTRING-tNumber of threads, running sites in parallel.
enable-link-finderBOOLEAN--jsRun linkfinder over JavaScript to extract endpoints (on by default).
3rd-party-urlBOOLEAN-aPull URLs from Archive.org, CommonCrawl, VirusTotal, and AlienVault.
json-outputBOOLEAN--jsonEnable structured JSON output.
include-subdomainsBOOLEAN--subsInclude subdomains while crawling.

Showing key inputs. gospider exposes 31 inputs in total.

Full flag reference (31 inputs)
NameTypeFlagDescription
rawBOOLEAN--rawPrint raw response output as received from each request.
proxySTRING-pProxy to route requests through (e.g. http://127.0.0.1:8080).
lengthBOOLEAN--lengthShow the content length of each crawled URL.
verboseBOOLEAN--verboseEnable verbose logging.
debug-modeBOOLEAN--debugEnable debug logging.
user-agentSTRING-uUser agent to send (web for a random desktop agent, mobi for a random mobile agent).
json-outputBOOLEAN--jsonWrite results as structured JSON.
random-delaySTRING-KExtra randomized seconds added to the request delay before each new request.
3rd-party-urlBOOLEAN-aFind URLs from third-party sources (Archive.org, CommonCrawl, VirusTotal, AlienVault).
cookie-to-useSTRING--cookieCookie header to send with each request (testA=a; testB=b).
filter-lengthBOOLEAN--filter-lengthFilter results by content length.
header-to-useSTRING--headerCustom header to send; repeat the flag to set several.
request-delaySTRING-kSeconds to wait before each new request to matching domains.
site-to-crawlSTRING-sSingle site URL to crawl.
crawl-robot-txtBOOLEAN--robotsCrawl robots.txt for additional paths (default true).
request-timeoutSTRING-mPer-request timeout in seconds (default 10).
disable-redirectBOOLEAN--no-redirectDo not follow HTTP redirects.
whitelist-domainSTRING--whitelist-domainRestrict crawling to this domain.
crawl-sitemap-xmlBOOLEAN--sitemapCrawl sitemap.xml for additional URLs.
html-only-contentBOOLEAN--baseDisable extras and use only HTML content.
number-of-threadsSTRING-tNumber of threads, running sites in parallel (default 1).
enable-link-finderBOOLEAN--jsRun linkfinder over JavaScript files to extract endpoints (default true).
include-subdomainsBOOLEAN--subsInclude subdomains while crawling.
blacklist-url-regexSTRING--blacklistSkip URLs matching this regex.
max-recursion-depthSTRING-dMaximum recursion depth of visited URLs (0 for infinite, default 1).
sites-list-to-crawlFILE-SFile of sites to crawl in one run.
whitelist-url-regexSTRING--whitelistOnly crawl URLs matching this regex.
include-3rd-party-urlsBOOLEAN-rAlso crawl and request URLs found from other sources.
number-of-concurent-reqSTRING-cMaximum concurrent requests per matching domain (default 5).
include-3rd-party-subdomainsBOOLEAN-wInclude subdomains discovered from third-party sources.
load-headers-and-strings-from-burpSTRING--burpLoad headers and cookies from a Burp raw HTTP request.

example

Run gospider

gospider · command
# crawl example.com to depth 2, parse JS, pull archive URLs, JSON outputgospider -s https://example.com -d 2 -c 5 -t 4 --js -a --json -o crawl-out
sample output
[url] - [code-200] - https://example.com/[href] - https://example.com/assets/app.css[javascript] - https://example.com/static/js/main.4f2a.js[linkfinder] - /api/v2/users[form] - https://example.com/login[url] - [code-301] - https://example.com/blog[subdomains] - api.example.com[url] - [code-200] - https://cdn.example.com/img/logo.svg

guidance

Choosing gospider

Use gospider for a light active crawl that also parses JavaScript and optional archive sources. For deeper scope controls and headless rendering, use katana. For passive archive URLs with no live requests, use gau.

katana

Deeper crawler with richer scope controls and headless JS rendering. gospider stays lighter to wire.

hakrawler

Minimal Go crawler from the same family. gospider adds archive sources and more filtering.

gau

Passive URLs from web archives with no live requests. Complements an active gospider crawl.

faq

gospider questions

Yes. Built-in linkfinder is on by default (--js) and parses script files for endpoints that static HTML never exposes.

Run gospider yourself

A site feeds gospider, which crawls it for URLs and passes them to httpx so only live endpoints land as a queryable output.

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