URL to scan
Dashboard
Sign Out

API Document

Comprehensive API documentation detailing endpoints, parameters, and examples

Scroll Down To Discover

1. Getting Started

The Phishs API provides access to its infrastructure through a standardized interface, enabling you to perform nearly all actions available on the customer dashboard. This RESTful API uses HTTPS requests and JSON responses. Registered users can retrieve their API key at the top of the "API Key" page in the My Account section.

2. API Endpoints

The API is accessed through HTTPS requests to a version-specific endpoint URL, using methods like GET, POST, PUT, PATCH, and DELETE to interact with the available data. All endpoints are secured via SSL-enabled HTTPS (port 443).

Each method, parameter, and feature is tied to a specific version, which must be included in every API call. The current latest version is Version 1.

The stable base URL for all Version 1 HTTPS endpoints is: https://api.phishs.com/v1/

3. API Limits

API usage limits vary based on the subscription plan associated with your account. Check API limits

4. Response Handling

All APIs follow these response formats: HTTP status codes and response body.

HTTP Status:
HTTP Code  Description
200 Success
401 Unauthorized
403 Your account is locked or permission denied
429 Login too many failed
500 An unknown error
Body json string will be responded, containing following data
Response Description
status => code: 0 Success
status => code: not equal 0 Error
status => message Error message
status => timestamp The time server responses

5. Get Team List


POST https://api.phishs.com/v1/entity/team/list

We use this API to get all team list which belong to you or which you are member

Required headers
Parameter Description
Content-Type [String, Required]. Value is: application/json
Public-Key [String, Required]. Value is: Your Public Key
Secret-Key [String, Required]. Value is: Your Secret Key
Possible parameters
Parameter Description
size [Number, Optional]. The number of results each page, default 20 results.
page [Number, Optional]. The page of results, default is 0. Start page is 0.
Response formats: Here
cURL

curl -X POST https://api.phishs.com/v1/entity/team/list \
     -H "Content-Type: application/json" \
     -H "Public-Key: t8t875o14k242zachxf1" \
     -H "Secret-Key: 186ycp7ilboz69u8uj8zfi88gvvvsqvk" \
     -d '{}'
								     								
Server response

{
  "status": {
    "message": "Wow, successfully!",
    "code": 0,
    "timestamp": "2024-11-17T09:37:45+0000"
  },
  "teams": [
    {
      "id": "170caec538d53e7339e84784",
      "code": "phishs_support",
      "name": "Phishs Support Team",
      "roles": "ROLE_OWNER, ROLE_MEMBER, ROLE_ADMIN",
      "members": 2,
      "joinedDate": "2024-10-14T05:40:21.901+00:00"
    },
    {
      "id": "2717579f0922cf34da711716",
      "code": "phishs_detection",
      "name": "Phishs Detection Team",
      "roles": "ROLE_OWNER, ROLE_ADMIN",
      "members": 1,
      "joinedDate": "2024-10-22T07:43:27.935+00:00"
    },
    {
      "id": "1717658b0922cf04da911712",
      "code": "phishs_protection",
      "name": "Phishs Protection Team",
      "roles": "ROLE_OWNER, ROLE_ADMIN",
      "members": 1,
      "joinedDate": "2024-10-22T08:42:51.454+00:00"
    }
  ],
  "total": 3
}
								

6. Get Usage


POST https://api.phishs.com/v1/report/usage

We use this API to get all team list which belong to you or which you are member

Required headers
Parameter Description
Content-Type [String, Required]. Value is: application/json
Public-Key [String, Required]. Value is: Your Public Key
Secret-Key [String, Required]. Value is: Your Secret Key
Possible parameters
Parameter Description
teamId [String, Required]. Get teamId from Get Team List API.
Response formats: Here
cURL

curl -X POST https://api.phishs.com/v1/report/usage \
     -H "Content-Type: application/json" \
     -H "Public-Key: t8t875o14k242zachxf1" \
     -H "Secret-Key: 186ycp7ilboz69u8uj8zfi88gvvvsqvk" \
     -d '{"teamId":"170caec538d53e7339e84784"}'
								     								
Server response

{
  "status": {
    "message": "Wow, successfully!",
    "code": 0,
    "timestamp": "2024-11-17T09:50:55+0000"
  },
  "usage": {
    "scanQuota": 1000000,
    "scanUsage": 91,
    "limitQuota": 1000,
    "limitUsage": 0
  }
}
								

7. Scan URL


POST https://api.phishs.com/v1/scan/url

We use this API to scan URL and show it as No classification or Potentially Malicious

Required headers
Parameter Description
Content-Type [String, Required]. Value is: application/json
Public-Key [String, Required]. Value is: Your Public Key
Secret-Key [String, Required]. Value is: Your Secret Key
Possible parameters
Parameter Description
teamId [String, Required]. Get teamId from Get Team List API.
url [String, Required]. Your URL for analysis.
rescan [Boolean, Optional]. If rescan is true, we will analysis without cache.
Response formats: Here
URL status response details
Response Description
urlStatus => status: 0 No classification
urlStatus => status: 1 Potentially Malicious
urlStatus => status: -1 Not a valid URL
urlStatus => lastScanTime Last scan time in millisecond
urlStatus => lastScanTimeStr Last scan time in text
cURL

curl -X POST https://api.phishs.com/v1/scan/url \
     -H "Content-Type: application/json" \
     -H "Public-Key: t8t875o14k242zachxf1" \
     -H "Secret-Key: 186ycp7ilboz69u8uj8zfi88gvvvsqvk" \
     -d '{"teamId":"170caec538d53e7339e84784", "url":"https://phishs.com/", "rescan":false}'
								     								
Server response

{
  "status": {
    "message": "Wow, successfully!",
    "code": 0,
    "timestamp": "2024-11-17T10:03:02+0000"
  },
  "urlStatus": {
    "status": 0,
    "lastScanTime": 24184545,
    "lastScanTimeStr": "6 hours ago"
  }
}