FightPhishing/ LANDING
HomeThreat IntelFraud WatchScam Check
LIVE · 20 FEEDSv2026.04.21

API Documentation

FightPhishing.com provides a free public API for accessing phishing threat data. Rate limited to 100 requests per IP per hour.

Base URL
https://fightphishing.com

All endpoints return JSON unless a different format is specified. CORS is enabled on /api/v1/* endpoints.

GET/api/v1/blacklist

Returns the active domain blacklist. Supports multiple export formats and pagination.

Parameters

NameTypeDefaultDescription
formatstringjsonResponse format: json, csv, txt, or hosts
limitnumber100Number of results (max 1000)
offsetnumber0Pagination offset
sincestringISO date filter (e.g. 2024-01-01)

Response Headers

  • X-Total-Count: total active domains
  • X-Last-Updated: last blacklist update timestamp

Example

curl "https://fightphishing.com/api/v1/blacklist?format=json&limit=5"
GET/api/check-url

Check if a URL or domain is on the blacklist. Never fetches the URL — database lookup only.

Parameters

NameTypeDefaultDescription
urlstringrequiredURL or domain to check

Example

curl "https://fightphishing.com/api/check-url?url=example-phish.com"
GET/api/search

Search across phishing URLs, news articles, and scam reports.

Parameters

NameTypeDefaultDescription
qstringrequiredSearch query
categorystringallFilter: all, urls, news, or scams
pagenumber1Page number
limitnumber20Results per page (max 50)

Example

curl "https://fightphishing.com/api/search?q=paypal&category=urls"
GET/api/rss/:feed

RSS 2.0 feeds for each dashboard. Feed names: professional, elder, general, blacklist.

Example

curl "https://fightphishing.com/api/rss/professional"
POST/api/subscribe

Register a webhook URL to receive high-threat notifications every 15 minutes.

Parameters

NameTypeDefaultDescription
webhook_urlstringrequiredDiscord/Slack webhook URL (body JSON)
feed_typestringrequiredprofessional, elder, general, blacklist, or all (body JSON)

Example

curl -X POST "https://fightphishing.com/api/subscribe" \
  -H "Content-Type: application/json" \
  -d '{"webhook_url":"https://hooks.slack.com/...","feed_type":"all"}'
POST/api/check-email

Analyze an email for phishing indicators. Checks sender domain against blacklist, verifies MX records, scans body for urgency/payment/PII red flags, and checks embedded URLs against threat intelligence.

Parameters

NameTypeDefaultDescription
emailFromstringoptionalSender email address
claimedCompanystringoptionalCompany the email claims to be from
urlsstring[]optionalURLs found in the email (max 10)
emailBodystringoptionalEmail body text for content analysis

Example

curl -X POST "https://fightphishing.com/api/check-email" \
  -H "Content-Type: application/json" \
  -d '{"emailFrom":"support@suspicious.com","claimedCompany":"PayPal","emailBody":"Verify your account immediately"}'
GET/api/check-phone

Check a US phone number against known scam numbers and suspicious international area codes. Returns scam type, area code risk, and external reporting links.

Parameters

NameTypeDefaultDescription
phonestringrequiredUS phone number (10 digits, with or without formatting)

Example

curl "https://fightphishing.com/api/check-phone?phone=8005551234"
POST/api/v1/check/bulk

Look up many indicators in one request. Body accepts urls / domains / hashes arrays (≤500 total per request). Local-only lookups for speed — no external API calls.

Parameters

NameTypeDefaultDescription
urlsstring[]Body field — URLs to look up
domainsstring[]Body field — bare domains
hashesstring[]Body field — sha256 / md5 / sha1 hashes (mixed allowed)

Response Headers

  • Rate limited: 10 req/min/IP

Example

curl -X POST "https://fightphishing.com/api/v1/check/bulk" \
  -H "Content-Type: application/json" \
  -d '{"urls":["https://example.com","https://login-paypal.xyz"]}'
GET/api/v1/export/stix

Returns a STIX 2.1 bundle of indicator + intrusion-set + malware + relationship objects. Use ?campaign=<brand> and ?since=<iso> to filter; ?limit=N caps the indicator count (default 1000, max 10000).

Parameters

NameTypeDefaultDescription
campaignstringFilter to indicators tied to a brand
sincestringISO 8601 timestamp — only newer indicators
limitnumber1000Cap on indicator count (1..10000)

Response Headers

  • Content-Type: application/stix+json;version=2.1

Example

curl "https://fightphishing.com/api/v1/export/stix?campaign=PayPal&limit=500"
GET/api/taxii/2.1/

TAXII 2.1 discovery document. Most SOC tools (OpenCTI, MISP, Anomali, Splunk) can ingest from this root with zero custom integration.

Response Headers

  • Content-Type: application/taxii+json;version=2.1

Example

curl "https://fightphishing.com/api/taxii/2.1/"
GET/api/taxii/2.1/collections/

TAXII 2.1 collection listing. Three public collections: domain-blacklist, phishing-urls, campaigns.

Response Headers

  • Content-Type: application/taxii+json;version=2.1

Example

curl "https://fightphishing.com/api/taxii/2.1/collections/"
GET/api/taxii/2.1/collections/:id/objects/

TAXII 2.1 objects endpoint. Returns a STIX bundle for the named collection. Supports ?added_after=<iso> per spec.

Parameters

NameTypeDefaultDescription
added_afterstringISO 8601 — STIX spec param
limitnumber1000Cap (1..10000)

Response Headers

  • Content-Type: application/stix+json;version=2.1

Example

curl "https://fightphishing.com/api/taxii/2.1/collections/domain-blacklist/objects/?limit=200"
POST/api/v1/watchlist

Register a brand-impersonation watch entry. The webhook notifier consults the watchlist after each 15-min pass and POSTs a focused payload to the entry's webhook_url for any matching IOC.

Parameters

NameTypeDefaultDescription
domainstringSubstring or Levenshtein-near match against IOC domains
brandKeywordstringSubstring against IOC target_brand or domain
webhookUrlstringOptional https:// destination
ownerIdstringFree-form correlation id (kept private)

Response Headers

  • Rate limited: 20 req/min/IP

Example

curl -X POST "https://fightphishing.com/api/v1/watchlist" \
  -H "Content-Type: application/json" \
  -d '{"brandKeyword":"paypal","domain":"","webhookUrl":"https://example.com/hook"}'
GET/api/v1/enrich/:domain

Enrich a domain with DNS A-record, Team Cymru ASN (free DNS-based), crt.sh recent certificates, and same-brand peer-domain pivots from our own DB. Cached 24h.

Example

curl "https://fightphishing.com/api/v1/enrich/example.com"