Skip to content

Getting started

Operator-grade phishing and abuse reputation with community input. Six steps, from account creation to a domain-first blocking workflow — but pick the path that matches your job rather than doing all six.

Choose your path
Mail operator
1 → 4 → 5

Protect your mail server with DNSBL, agent, or API lookups.

Security researcher
1 → 2 → 6

Submit reports, vote on threats, track phishing kits.

API developer
1 → 3 → 4

Integrate threat feeds into your app or SIEM.

01

Create an account

Register at /account/login. Enter your email address, a public display name, and a password. A verification email will be sent automatically — click the link inside to activate your account.

Email verification is required before you can submit reports or cast votes. Accounts without a verified email are read-only.

02

Submit your first report

Go to /submit and choose an IOC type:

URLFull phishing or malware URL (e.g. https://login-paypa1.com/secure)
DomainMalicious apex domain (e.g. phishing-bank.net)
IPExact spam source or C2 host (e.g. 185.234.72.19)
NetworkCIDR range for broader infrastructure context (e.g. 2001:db8:abcd::/48)
ASNAutonomous system reputation context (e.g. AS13335)
EmailSender address used in phishing campaigns

Include evidence in the description — e.g. email headers, a brief explanation of the threat, or a reference to a related campaign. Reports with clear evidence are easier to enrich, score, and review accurately. URL submissions are normalized into canonical domains for long-term phishing intelligence. For shared platforms, submit the tenant host or full URL rather than the platform parent.

03

Get your API key

Go to /account and open the API Keys tab. Create a key with read scope for lookups or write scope to submit reports programmatically. The raw key is shown exactly once — save it securely.

bash
# Query reports via API
curl -s "https://api.vspam.org/api/v1/public/reports?q=paypal" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Operator lookup for a phishing domain
curl -s "https://api.vspam.org/api/v1/public/operator-lookup?type=domain&value=login-paypa1.com"

# Operator lookup for ASN context
curl -s "https://api.vspam.org/api/v1/public/operator-lookup?type=asn&value=AS13335"

# Check exact IP or IPv6 host reputation
curl -s "https://api.vspam.org/api/v1/rbl/check?ip=185.234.72.19"
04

Integrate with your infrastructure

5 routes

Choose the integration method that fits your setup:

DNSBLAdd the RPZ zone to your DNS resolver — blocks threats at the DNS layer with zero API calls.
Operator LookupUse /api/v1/public/operator-lookup for canonical domain and ASN checks without client-side hashing or normalization.
IP RBLUse /api/v1/rbl/check for exact IPv4 and IPv6 host checks — returns listing details and direct infrastructure context.
FeedsPull operator-focused domain, IPv6 exact-host, IPv6 prefix watch, or ASN reputation feeds in CSV, JSON, or STIX where available.
FirewallsImport IP blocklists into pfSense, OPNsense, iptables, or cloud WAFs.

See integration guides for Postfix, rspamd, SpamAssassin, and Fail2Ban, or firewall feeds for network-level blocking, or API docs for the full endpoint reference. For product-specific guidance, start with domain reputation, IPv6 intelligence, and ASN reputation.

05

Deploy the mail agent

The vspam-agent is a lightweight Go sidecar that checks IOCs during SMTP policy evaluation with local BoltDB caching. The agent fails open on its own errors — but Postfix does not by default, which is what the two smtpd_policy_service_* lines below are for.

bash
# Debian/Ubuntu (via repo)
sudo apt update && sudo apt install vspam-agent

# Configure
sudo vim /etc/vspam/agent.yml   # set api_key

# Start & add to Postfix
sudo systemctl enable --now vspam-agent
# Add to /etc/postfix/main.cf:
#   smtpd_policy_service_default_action = DUNNO
#   smtpd_policy_service_timeout = 10s
#   check_policy_service inet:127.0.0.1:10045

Packages for Debian/Ubuntu, RHEL/CentOS, and manual tarballs at /download.

06

Vote & build your reputation

Every account has a trust tier that affects how much weight your votes carry. Build reputation by submitting accurate reports and voting on others:

Tier 0New account — can submit reports, limited voting weight
Tier 1Verified — email confirmed, standard voting power
Tier 2Contributor — consistent quality reports
Tier 3Trusted — high accuracy, votes fast-track confirmations
Tier 4–5Expert / Admin — community leadership, abuse queue access

Browse pending reports to vote on, or check the leaderboard to see top contributors.

Prerequisites

A valid email address for account verification (disposable/temporary emails are rejected)
For DNSBL: access to your mail server's DNS resolver config
For API: ability to make HTTPS requests to api.vspam.org
For the agent: Linux server (amd64/arm64) running Postfix, Exim, or OpenSMTPD
All features are free for non-commercial use. See Terms of Service for commercial licensing.

Troubleshooting

No verification email

Check spam/junk. Emails are sent from noreply@vspam.org.

API returns 401

Pass the key in Authorization: Bearer or the X-API-Key header.

DNSBL never matches

Try dig +short test.dnsbl.vspam.org. Ensure your resolver doesn't strip RPZ records.

Agent won't start

Check journalctl -u vspam-agent. Common causes: missing config, port conflict.

Rate limit (429)

Free tier = 500 req/hour. Build trust tier for higher limits, or contact support@vspam.org.

Where to next