SpiderFoot

SpiderFoot Web Interface vs Command Line: Key Differences Explained (2026)

Quick answer: SpiderFoot’s web interface is a browser dashboard for starting scans, exploring results, viewing correlations and graphs, and managing API keys. Its command-line mode (sf.py -s) runs scans in the terminal and prints results as tab, CSV or JSON, which makes it ideal for scripting, automation and headless servers. Both use the same modules; the difference is how you control scans and view results. Most people use the web UI to explore and the CLI to automate.

SpiderFoot actually gives you three ways to work: the web interface, one-off command-line scans with sf.py, and an interactive CLI client (sfcli.py) that controls a running server. This guide compares them side by side so you can choose the right one for each job.

Web UI vs CLI: Side-by-Side Comparison

FeatureWeb interfaceCommand line (sf.py -s)Interactive CLI (sfcli.py)
How you start itsf.py -l 127.0.0.1:5001sf.py -s target ...sfcli.py -s http://127.0.0.1:5001
Learning curveEasiestModerateModerate
Module selectionCheckboxes, use cases, required dataFlags -u, -m, -tOptions on the start command
Live resultsYes, updates as scan runsStreams to terminalQuery while scanning
Correlations viewYes, with risk levelsRun with -C scanIDYes (correlations command)
Graph visualisationYesNo (export GEXF instead)No
Scan historyStored and browsableOutput only, unless savedStored on the server
API key managementSettings pageUses saved settingsVia set
Automation and scriptingLimitedExcellentGood
Headless servers / SSHNeeds a tunnel or proxyPerfectPerfect
Output formatsCSV, JSON, GEXF exporttab, CSV, JSON to stdoutExport command

The Web Interface

Start it with python3 sf.py -l 127.0.0.1:5001 (or spiderfoot -l 127.0.0.1:5001 on Kali) and open the address in a browser.

Strengths

  • Beginner-friendly: pick “By Use Case”, “By Required Data” or “By Module” with a few clicks.
  • Visual analysis: Summary, Browse, Correlations and an interactive Graph.
  • Scan management: rerun, compare, stop and delete past scans.
  • Easy settings: add API keys and tune modules in one place.

Limitations

  • Harder to automate or schedule.
  • No login by default, so it needs extra protection on shared or remote systems. See how to secure SpiderFoot.

Best for: learning, exploring results, reporting and investigations where you want to see connections.

Command-Line Mode (sf.py)

Run a scan directly without the browser:

python3 sf.py -s example.com -u passive -o csv -q > example.csv

Strengths

  • Scriptable: loop over targets, pipe results into other tools, schedule with cron.
  • Fast and focused: use -m for specific modules or -t for specific data types.
  • Clean output: CSV or JSON straight into a file, SIEM or spreadsheet.
  • Low overhead: great on servers, containers and phones.

Limitations

Best for: automation, bulk scanning, CI pipelines and quick targeted lookups.

The Interactive CLI Client (sfcli.py)

sfcli.py is a shell that talks to a running SpiderFoot server through its web API. You get the scan history and correlations of the server, with the speed of a terminal.

python3 sfcli.py -s http://127.0.0.1:5001
sf> help
sf> scans
sf> start example.com -u passive

On Kali it is installed as spiderfoot-cli. Type help to see all commands, such as modules, types, summary, data, logs and export.

Best for: managing scans on a remote server over SSH, without exposing the web UI.

Which Should You Use? Decision Guide

If you want to…Use
Learn SpiderFoot for the first timeWeb interface
See how findings connect visuallyWeb interface (Graph)
Scan 50 domains overnightCommand line + script
Run a weekly monitoring scanCommand line + cron / Task Scheduler
Control a remote server over SSHsfcli.py
Feed results into a SIEM or scriptCommand line with -o json
Present findings to a clientWeb interface + CSV export

The Best Workflow: Use Both

  1. Run the SpiderFoot server with the web UI on localhost.
  2. Kick off routine or bulk scans from the CLI or sfcli.py.
  3. Open the web UI to review Correlations and the Graph for the interesting ones.
  4. Export CSV or JSON for your report or other tools.

This gives you automation and visual analysis. Learn how to build it in our SpiderFoot OSINT automation guide.

Getting Started

Frequently Asked Questions

Do the SpiderFoot web UI and CLI use the same modules?

Yes. Both run the same 200+ modules and produce the same data types. Only the way you start scans and view results is different.

Can I see CLI scan results in the web interface?

Scans started with sf.py -s print results to the terminal. To keep scans in the web UI history, start them from the web interface or with sfcli.py connected to the running server.

Is the SpiderFoot CLI harder to use?

It takes a little practice to learn the flags, but a handful such as -s, -u, -m, -t and -o cover most needs.

What is the difference between sf.py and sfcli.py?

sf.py is SpiderFoot itself. It runs the web server with -l or a one-off scan with -s. sfcli.py is an interactive client that controls a running SpiderFoot server through its API.

Which mode is better for automation?

The command line. You can script scans, loop over targets and schedule them with cron or Task Scheduler, saving results as CSV or JSON.

Can I use the SpiderFoot web UI on a remote server?

Yes. Keep it bound to 127.0.0.1 and connect through an SSH tunnel, or put it behind an HTTPS reverse proxy with authentication.

Conclusion

The SpiderFoot web interface and command line use the same engine and modules. The web UI wins for learning, exploring and presenting results; the command line wins for speed, scripting and automation; and sfcli.py bridges the two on remote servers. Start with the web UI, then add CLI scans as your workflows grow.

Leave a Comment

Your email address will not be published. Required fields are marked *