PhishStats API

Free to Use Varies (check documentation)

Overview

PhishStats is a real-time phishing URL database that aggregates phishing site data from multiple sources. You can use it to check whether a URL has been flagged as a phishing site or to download bulk phishing data for research. It's free to use and great for building security tools or browser extensions.

Beginner Tip

Use the /api/phishing.json endpoint with the ?url= parameter to check individual URLs, and check the score field — higher values indicate stronger phishing confidence.

Available Data

Use case: Integrate phishing database data into web and mobile applications
PhishStats data via REST API

Example Response

JSON Response
{
  "url": "https://example.com",
  "safe": true,
  "threat_level": "none",
  "categories": [
    "clean"
  ],
  "scan_date": "2025-01-15T10:00:00Z"
}

Field Reference

id Unique identifier for this phishing record.
url The full phishing URL that was reported.
ip IP address hosting the phishing page.
countrycode Two-letter country code where the phishing server is located.
score Phishing confidence score; higher values indicate stronger evidence of phishing activity.
date Timestamp when this phishing URL was first detected.

Implementation Example

Request
const url = "https://phishstats.info/";
const response = await fetch(url);
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

Connection refused or port error PhishStats API runs on non-standard port 2096, which may be blocked by firewalls.
Ensure your environment allows outbound connections on port 2096, or use the provided HTTPS endpoint.
Empty results array The URL you searched for may not be in the PhishStats database.
Try searching by domain fragment using the like operator: ?_where=(url,like,~yourdomain~).
Overwhelming data volume Bulk CSV downloads can be very large (hundreds of MB).
Use the API query parameters (_size, _page) to fetch only the records you need rather than downloading the full dataset.

Metadata Score Breakdown

Estimated from metadata — endpoint not independently tested

This score is estimated from observable metadata — HTTPS support, authentication model, declared CORS, and documentation reachability — because the API requires authentication or exposes no publicly testable endpoint. The five-signal breakdown is only shown for live-tested APIs.

Metadata estimate · endpoint not independently tested

Technical Specifications

Auth No Auth
HTTPS REQUIRED
CORS UNKNOWN
Category Security
Difficulty Beginner
Verified: 2026-04-04

Related Tags

Similar APIs

View All →