webscans CLI

Every SDK tool as a shell command with pretty-printed output and --json for scripting. Ships in the same pip install webscans.

Install

$ pip install webscans
$ webscans --version
webscans, version 0.1.0

Requires Python 3.10+. No native compilation, single wheel.

webscans configure

$ webscans configure
API key (from https://webscans.com/settings/keys): ws_...
API base URL [https://webscans.com]:
Saved to /home/you/.config/webscans/config.toml

One-time setup. Config lives at ~/.config/webscans/config.toml. Env vars WEBSCANS_API_KEY and WEBSCANS_BASE_URL override the file.

--json output

Every command supports --json to emit raw JSON instead of the pretty table. Great for shell pipelines:

$ webscans enrich stripe.com --json | jq '.profile.industry'
"Finance & Banking"
$ webscans search "solar panels" --tech HubSpot --country US -n 25
25 results  (127ms)
    1  franklinsports.com               Official MLB Gear, Pickleball Products, ...
    2  royalwestmoreland.com            Luxury Resort in Barbados - Royal Westm...
   ...
FlagPurpose
--mode phrase|any|singleMatch mode (default: phrase)
--tech "HubSpot"Tech stack filter
--industry "..."Industry filter
--country USISO-2 country
--tld ioTop-level domain (no dot)
--has email|phone|pricing|blog|ecommerce|contactFeature filter
-n / --limit NResults per page (default 25)
--offset NPagination offset

count

$ webscans count "hubspot"
19,433

domain

$ webscans domain stripe.com
stripe.com
  title                 stripe | financial infrastructure to grow your revenue
  meta_description      stripe is a financial services platform ...
  industry              Finance & Banking
  tech_stack            Next.js, Schema.org, ...
  country               US
  company_name          Stripe

similar

$ webscans similar figma.com -k 10
Companies similar to figma.com  (faiss_embedding)
    1  linear.app                        0.7991  lookalike    Whiteboard / Diagram
    2  composio.dev                      0.7920  lookalike    UI/UX Design Tool
    ...

lookup

$ webscans lookup acme.io              # cache + live fallback
$ webscans lookup acme.io --force      # bypass cache

enrich

$ webscans enrich acme.io --wait-ms 800
acme.io  ←  live_curl  (102ms, 37 fields)
  title       Acme — modern factory-floor automation
  industry    Manufacturing
  tech_stack  Webflow, jQuery
  country     US

Flags: --wait-ms N (race budget), --force (bypass cache), --no-playwright, --no-brightdata (disable fallback tiers).

autocomplete

$ webscans autocomplete "stri" -n 3
  stripe.com                     Financial infrastructure to grow your revenue
  stripchat.com                  Free Live Sex Cams & Chat
  strikemagazines.com            Strike Magazines

ai

$ webscans ai find SaaS companies in California using HubSpot
Here are 8 SaaS/HubSpot companies I found ...
[tool used: search_companies]

Natural-language wrapper around the Copilot endpoint — Claude picks the right tool.

export

$ webscans export "carbon accounting" -o carbon.csv --tier pro
Wrote carbon.csv

Free tier: 100 rows. Pro: 10K. Enterprise: 1M.

$ webscans bulk-search "hvac,roofing,landscaping" -o home-services.csv --tier pro
Wrote home-services.csv across 3 keywords

bulk-enrich

$ webscans bulk-enrich my_domains.csv -o enriched.csv

Upload a CSV of domains (up to 100K), receive an enriched CSV with all 178 columns per domain.

my-companies

$ webscans my-companies -o saved.csv
$ webscans my-companies --search fintech -o fintech.csv

Paid tier — 1 credit per row.

mcp

$ webscans mcp                          # starts stdio MCP server

See the MCP docs for how to register in Claude Desktop / Cursor / etc.

Config file

Written by webscans configure to ~/.config/webscans/config.toml:

api_key = "ws_..."
base_url = "https://webscans.com"

Override the location with $WEBSCANS_CONFIG_DIR.

Environment variables

VarPurpose
WEBSCANS_API_KEYOverrides the config-file key
WEBSCANS_BASE_URLOverrides the API base URL (self-hosted, staging)
WEBSCANS_CONFIG_DIRWhere to look for config.toml

Recipes

Enrich a whole list, sorted by score

$ webscans bulk-enrich my_domains.csv -o enriched.csv

Pipe search results into a spreadsheet

$ webscans search "GDPR compliant" --json \
    | jq -r '.results[] | [.domain,.title,.industry] | @csv' \
    > results.csv

Get every HubSpot user in the UK

$ webscans search "the" --tech HubSpot --country GB -n 500 --json \
    | jq -r '.results[].domain'

Real-time enrichment loop

$ while read d; do
    webscans enrich "$d" --json | jq -c "{domain:.domain,src:.source,ms:.elapsed_ms}"
  done < domains.txt