Skip to content

REST APIv1

PhishFort Client API

Report threats, follow takedowns and query every incident PhishFort is handling for you, from your own systems. One key, one base URL, JSON in and out.

Base URLhttps://capi.phishfort.com/v1/All requests over HTTPS, authenticated with the x-api-key header

Deprecation Notice

The statusVerbose field will be deprecated on December 25, 2026. Please use the status field instead, which returns the same computed verbose status values. See Status Values for details.

Quick Start#

Every request carries your API key in the x-api-key header. GET /v1/whoami confirms the key works and lists the clients it can act for, so it is the first call worth making. See Authentication for the details.

curl -X GET 'https://capi.phishfort.com/v1/whoami' \
  -H 'accept: application/json' \
  -H 'x-api-key: YOUR_API_KEY'
import requests

response = requests.get(
    "https://capi.phishfort.com/v1/whoami",
    headers={
        "accept": "application/json",
        "x-api-key": "YOUR_API_KEY",
    },
)
print(response.json())
const response = await fetch("https://capi.phishfort.com/v1/whoami", {
  headers: {
    accept: "application/json",
    "x-api-key": "YOUR_API_KEY",
  },
});
const data = await response.json();
console.log(data);

Endpoints#

Response Format#

Every successful response has the same envelope:

{
    "message": "success",
    "data": { ... }
}

Paginated endpoints add a paging object. Field-level definitions for every object live in Data Structures.

Keep going#