About the API:
Fight back against Phish!
The Phish Scanner API can identify phishy or spammy URLs. Unlike traditional blacklist services, the Phish Scanner API uses Machine Learning to spot phish, so even the freshest-phish aren't safe!
Submit any URL (e.g. https://www.example.com/cool?yes=1) to the API and receive a robust JSON feature set containing Screenshots, TLS/SSL certificates, WHOIS queries, HTML and DOM content, HTTP captures, and DNS information, and Phish Score for the given URL.
Additional options can be added to the Request such as timeouts, browser options, or even the desired response features. Check the documentation for more information.
Cybersecurity Professionals and Enthusiasts alike can use this API to enrich existing domain monitoring and anti-phishing workflows or to build exciting OSINT security tools! Besides, assigning a Phish Score to any URL submission, the API also returns a detailed feature set that users can leverage to build informative dashboards or intelligent applications on each Phish's characteristics.
Retrieve the Scanner Report via the universally unique identifier (UUID). Accepts query parameters that can be used to specify which features to include in the response. Returns status 404 if the report does not exist (or if the asynchronous scan hasn't yet completed). Returns status 400 if the scan attempt failed (applies to asynchronous submissions only).
UUID parameter: insert The UUID of the Report. Ex: dCSQsZZD4s3hWmwJUALcvs
{"uuid":"Tqr6GzouYmZJ8eNcjpXxDv","timestamp":"2022-10-24T18:35:45.991668","submitted_url":"https://example.com","rendered_url":"https://example.com/","status":"SUCCESS","phish_score":0.0,"redirect":null,"features":{"certs":null,"dns":null,"forms":null,"har":null,"html":null,"links":null,"photos":null,"scripts":null,"title":null,"urls":null,"whois":null}}
curl --location --request GET 'https://zylalabs.com/api/221/phish+scanner+api/231/get-scan-report&UUID=Required' --header 'Authorization: Bearer YOUR_API_KEY'
Queues the URL for scanning. The request will return immediately with the UUID
that can be used with the "Reports" endpoints to retrieve the scanner output.
This endpoint is the preferred method for applications that perform bulk submissions.
async-scanner - Endpoint Features
Object | Description |
---|---|
Request Body |
[Required] Json |
{"uuid":"FeKS2NnRyEqLT94qDXBt9p","timestamp":"2022-11-23T16:13:57.016881","submitted_url":"https://example.com","rendered_url":"https://example.com/","status":"SUCCESS","phish_score":0.0,"redirect":null,"features":{"certs":[[{"issuer":{"commonName":"DigiCert TLS RSA SHA256 2020 CA1","countryName":"US","stateOrProvinceName":null,"organizationName":"DigiCert Inc","organizationUnitName":null,"localityName":null,"emailAddress":null},"subject":{"commonName":"www.example.org","countryName":"US","stateOrProvinceName":"California","organizationName":"InternetΒ CorporationΒ forΒ AssignedΒ NamesΒ andΒ Numbers","organizationUnitName":null,"localityName":"Los Angeles","emailAddress":null,"alternativeNames":["www.example.org","example.net","example.edu","example.com","example.org","www.example.com","www.example.edu","www.example.net"]},"fingerprints":{"sha256":"7F:2F:E8:D6:B1:8E:9A:47:83:92:56:CD:97:93:8D:AA:70:E8:51:57:50:29:8D:DB:A2:F3:F4:B8:44:01:13:FC","sha1":"DF:81:DF:A6:B6:1E:AF:DF:FF:FE:1A:25:02:40:DB:5D:2E:6C:EE:25"},"validity":{"notBefore":"2022-03-14T00:00:00","notAfter":"2023-03-14T23:59:59"},"public_key":{"pem_text":"-----BEGIN CERTIFICATE-----\nMIIHRzCCBi+gAwIBAgIQD6pjEJMHvD1BSJJkDM1NmjANBgkqhkiG9w0BAQsFADBP\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMSkwJwYDVQQDEyBE\naWdpQ2VydCBUTFMgUlNBIFNIQTI1NiAyMDIwIENBMTAeFw0yMjAzMTQwMDAwMDBa\nFw0yMzAzMTQyMzU5NTlaMIGWMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv\ncm5pYTEUMBIGA1UEBxMLTG9zIEFuZ2VsZXMxQjBABgNVBAoMOUludGVybmV0wqBD\nb3Jwb3JhdGlvbsKgZm9ywqBBc3NpZ25lZMKgTmFtZXPCoGFuZMKgTnVtYmVyczEY\nMBYGA1UEAxMPd3d3LmV4YW1wbGUub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A\nMIIBCgKCAQEAlV2WY5rlGn1fpwvuBhj0nVBcNxCxkHUG/pJG4HvaJen7YIZ1mLc7\n/P4snOJZiEfwWFTikHNbcUCcYiKG8JkFebZOYMc1U9PiEtVWGU4kuYuxiXpD8oMP\nin1B0SgrF7gKfO1//I2weJdAUjgZuXBCPAlhz2EnHddzXUtwm9XuOLO/Y6LATVMs\nbp8/lXnfo/bX0UgJ7C0aVqOu07A0Vr6OkPxwWmOvF3cRKhVCM7U4B51KK+IsWRLm\n8cVW1IaXjwhGzW7BR6EI3sxCQ4Wnc6HVPSgmomLWWWkIGFPAwcWUB4NC12yhCO5i\nW/dxNMWNLMRVtnZAyq6FpZ8wFK6j4OMwMwIDAQABo4ID1TCCA9EwHwYDVR0jBBgw\nFoAUt2ui6qiqhIx56rTaD5iyxZV2ufQwHQYDVR0OBBYEFPcqCdAkWxFx7rq+9D4c\nPVYSiBa7MIGBBgNVHREEejB4gg93d3cuZXhhbXBsZS5vcmeCC2V4YW1wbGUubmV0\nggtleGFtcGxlLmVkdYILZXhhbXBsZS5jb22CC2V4YW1wbGUub3Jngg93d3cuZXhh\nbXBsZS5jb22CD3d3dy5leGFtcGxlLmVkdYIPd3d3LmV4YW1wbGUubmV0MA4GA1Ud\nDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwgY8GA1Ud\nHwSBhzCBhDBAoD6gPIY6aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0\nVExTUlNBU0hBMjU2MjAyMENBMS00LmNybDBAoD6gPIY6aHR0cDovL2NybDQuZGln\naWNlcnQuY29tL0RpZ2lDZXJ0VExTUlNBU0hBMjU2MjAyMENBMS00LmNybDA+BgNV\nHSAENzA1MDMGBmeBDAECAjApMCcGCCsGAQUFBwIBFhtodHRwOi8vd3d3LmRpZ2lj\nZXJ0LmNvbS9DUFMwfwYIKwYBBQUHAQEEczBxMCQGCCsGAQUFBzABhhhodHRwOi8v\nb2NzcC5kaWdpY2VydC5jb20wSQYIKwYBBQUHMAKGPWh0dHA6Ly9jYWNlcnRzLmRp\nZ2ljZXJ0LmNvbS9EaWdpQ2VydFRMU1JTQVNIQTI1NjIwMjBDQTEtMS5jcnQwCQYD\nVR0TBAIwADCCAXwGCisGAQQB1nkCBAIEggFsBIIBaAFmAHUA6D7Q2j71BjUy51co\nvIlryQPTy9ERa+zraeF3fW0GvW4AAAF/ip6hdQAABAMARjBEAiAxePNT60Z/vTJT\nPVryiGzXrLxCNJQqteULkguBEMbG/gIgR3QwvILJIWAUfvSfJQ/zMmqr2JDanWE8\nuzbC4EWbcwAAdQA1zxkbv7FsV78PrUxtQsu7ticgJlHqP+Eq76gDwzvWTAAAAX+K\nnqF8AAAEAwBGMEQCIDspTxwkUBpEoeA+IolNYwOKl9Yxmwk816yd0O2IJPZcAiAV\n8TWhoOLiiqGKnY02CdcGXOzAzC7tT6m7OtLAku2+WAB2ALNzdwfhhFD4Y4bWBanc\nEQlKeS2xZwwLh9zwAw55NqWaAAABf4qeoYcAAAQDAEcwRQIgKR7qwPLQb6UT2+S7\nw7uQsbsDZfZVX/g8FkBtAltaTpACIQDLdtedRNGNhuzYpB6gmBBydhtSQi5YZLsp\nFvaVHpeW1zANBgkqhkiG9w0BAQsFAAOCAQEAqp++XZEbreROTsyPB2RENbStOxM/\nwSnYtKvzQlFJRjvWzx5Bg+ELVy+DaXllB29ZA4xRlIkYED4eXO26PY5PGhSS0yv/\n1JjLp5MOvLcbk6RCQkbZ5bEaa2gqmy5IqS8dKrDj+CCUVIFQLu7X4CB6ey5n+/rY\nF6Rb3MoAYu8jr3pY8Hp0DL1NQ/GMAofc464J0vf6NzzSS6sE5UOl0lURDkGHXzio\n5XpeTEa4tvo/w0vNQDX/4KRxdArBIIvjVEeE1Ri9UZtAXd1CMBLROqVjmq+QCNYb\n0XELBnGQ666tr7pfx9trHniitNEGI6dj87VD+laMUBd7HBtOEGsiDoRSlA==\n-----END CERTIFICATE-----\n","key_size":2048}},{"issuer":{"commonName":"DigiCert Global Root CA","countryName":"US","stateOrProvinceName":null,"organizationName":"DigiCert Inc","organizationUnitName":"www.digicert.com","localityName":null,"emailAddress":null},"subject":{"commonName":"DigiCert TLS RSA SHA256 2020 CA1","countryName":"US","stateOrProvinceName":null,"organizationName":"DigiCert Inc","organizationUnitName":null,"localityName":null,"emailAddress":null,"alternativeNames":["www.example.org","example.net","example.edu","example.com","example.org","www.example.com","www.example.edu","www.example.net"]},"fingerprints":{"sha256":"52:27:4C:57:CE:4D:EE:3B:49:DB:7A:7F:F7:08:C0:40:F7:71:89:8B:3B:E8:87:25:A8:6F:B4:43:01:82:FE:14","sha1":"1C:58:A3:A8:51:8E:87:59:BF:07:5B:76:B7:50:D4:F2:DF:26:4F:CD"},"validity":{"notBefore":"2021-04-14T00:00:00","notAfter":"2031-04-13T23:59:59"},"public_key":{"pem_text":"-----BEGIN CERTIFICATE-----\nMIIEvjCCA6agAwIBAgIQBtjZBNVYQ0b2ii+nVCJ+xDANBgkqhkiG9w0BAQsFADBh\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD\nQTAeFw0yMTA0MTQwMDAwMDBaFw0zMTA0MTMyMzU5NTlaME8xCzAJBgNVBAYTAlVT\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxKTAnBgNVBAMTIERpZ2lDZXJ0IFRMUyBS\nU0EgU0hBMjU2IDIwMjAgQ0ExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEAwUuzZUdwvN1PWNvsnO3DZuUfMRNUrUpmRh8sCuxkB+Uu3Ny5CiDt3+PE0J6a\nqXodgojlEVbbHp9YwlHnLDQNLtKS4VbL8Xlfs7uHyiUDe5pSQWYQYE9XE0nw6Ddn\ng9/n00tnTCJRpt8OmRDtV1F0JuJ9x8piLhMbfyOIJVNvwTRYAIuE//i+p1hJInuW\nraKImxW8oHzf6VGo1bDtN+I2tIJLYrVJmuzHZ9bjPvXj1hJeRPG/cUJ9WIQDgLGB\nAfr5yjK7tI4nhyfFK3TUqNaX3sNk+crOU6JWvHgXjkkDKa77SU+kFbnO8lwZV21r\neacroicgE7XQPUDTITAHk+qZ9QIDAQABo4IBgjCCAX4wEgYDVR0TAQH/BAgwBgEB\n/wIBADAdBgNVHQ4EFgQUt2ui6qiqhIx56rTaD5iyxZV2ufQwHwYDVR0jBBgwFoAU\nA95QNVbRTLtm8KPiGxvDl7I90VUwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQG\nCCsGAQUFBwMBBggrBgEFBQcDAjB2BggrBgEFBQcBAQRqMGgwJAYIKwYBBQUHMAGG\nGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBABggrBgEFBQcwAoY0aHR0cDovL2Nh\nY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0R2xvYmFsUm9vdENBLmNydDBCBgNV\nHR8EOzA5MDegNaAzhjFodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRH\nbG9iYWxSb290Q0EuY3JsMD0GA1UdIAQ2MDQwCwYJYIZIAYb9bAIBMAcGBWeBDAEB\nMAgGBmeBDAECATAIBgZngQwBAgIwCAYGZ4EMAQIDMA0GCSqGSIb3DQEBCwUAA4IB\nAQCAMs5eC91uWg0Kr+HWhMvAjvqFcO3aXbMM9yt1QP6FCvrzMXi3cEsaiVi6gL3z\nax3pfs8LulicWdSQ0/1s/dCYbbdxglvPbQtaCdB73sRD2Cqk3p5BJl+7j5nL3a7h\nqG+fh/50tx8bIKuxT8b1Z11dmzzp/2n3YWzW2fP9NsarA4h20ksudYbj/NhVfSbC\nEXffPgK2fPOre3qGNm+499iTcc+G33Mw+nur7SpZyEKEOxEXGlLzyQ4UfaJbcme6\nce1XR2bFuAJKZTRei9AqPCCcUZlM51Ke92sRKw2Sfh3oius2FkOH6ipjv3U/697E\nA7sKPPcw7+uvTPyLNhBzPvOk\n-----END CERTIFICATE-----\n","key_size":2048}}]],"dns":[[{"ip":"93.184.216.34","record_type":"A","ttl":125,"asn":15133,"country":"US","entity":"EDGECAST"}]],"forms":null,"har":{"log":{"version":"1.2","entries":[{"request":{"method":"POST","url":"https://shavar.services.mozilla.com/downloads?client=navclient-auto-ffox&appver=105.0&pver=2.2","httpVersion":"HTTP/1.1","cookies":[],"queryString":[{"name":"client","value":"navclient-auto-ffox"},{"name":"appver","value":"105.0"},{"name":"pver","value":"2.2"}],"headers":[{"name":"Host","value":"shavar.services.mozilla.com"},{"name":"User-Agent","value":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"},{"name":"Accept","value":"*/*"},{"name":"Accept-Language","value":"en-US,en;q=0.5"},{"name":"Accept-Encoding","value":"gzip, deflate, br"},{"name":"Content-Type","value":"text/plain"},{"name":"Content-Length","value":"426"},{"name":"Connection","value":"close"},{"name":"Sec-Fetch-Dest","value":"empty"},{"name":"Sec-Fetch-Mode","value":"no-cors"},{"name":"Sec-Fetch-Site","value":"none"},{"name":"Pragma","value":"no-cache"},{"name":"Cache-Control","value":"no-cache"}],"headersSize":504,"bodySize":426},"response":{"httpVersion":"HTTP/1.1","cookies":[],"content":{"size":1575,"mimeType":"application/octet-stream","text":null},"headers":[{"name":"Content-Type","value":"application/octet-stream"},{"name":"Date","value":"Wed, 23 Nov 2022 16:13:46 GMT"},{"name":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"name":"Content-Length","value":"1575"},{"name":"Connection","value":"keep-alive"}],"headersSize":208,"bodySize":1575,"status":200,"statusText":"OK","redirectUrl":null},"timings":{"blocked":-1,"dns":-1,"connect":-1,"ssl":-1,"send":0,"wait":346,"receive":0},"time":346,"pageref":"Page 0","startedDateTime":"2022-11-23T16:13:46.254000+00:00"},{"request":{"method":"GET","url":"https://example.com/","httpVersion":"HTTP/1.1","cookies":[],"queryString":[],"headers":[{"name":"Host","value":"example.com"},{"name":"User-Agent","value":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"},{"name":"Accept","value":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"},{"name":"Accept-Language","value":"en-US,en;q=0.5"},{"name":"Accept-Encoding","value":"gzip, deflate, br"},{"name":"Connection","value":"keep-alive"},{"name":"Upgrade-Insecure-Requests","value":"1"},{"name":"Sec-Fetch-Dest","value":"document"},{"name":"Sec-Fetch-Mode","value":"navigate"},{"name":"Sec-Fetch-Site","value":"none"},{"name":"Sec-Fetch-User","value":"?1"}],"headersSize":480,"bodySize":0},"response":{"httpVersion":"HTTP/1.1","cookies":[],"content":{"size":1256,"mimeType":"text/html; charset=UTF-8","text":"<!doctype html>\n<html>\n<head>\n <title>Example Domain</title>\n\n <meta charset=\"utf-8\" />\n <meta http-equiv=\"Content-type\" content=\"text/html; charset=utf-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n <style type=\"text/css\">\n body {\n background-color: #f0f0f2;\n margin: 0;\n padding: 0;\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n \n }\n div {\n width: 600px;\n margin: 5em auto;\n padding: 2em;\n background-color: #fdfdff;\n border-radius: 0.5em;\n box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);\n }\n a:link, a:visited {\n color: #384...
curl --location --request POST 'https://zylalabs.com/api/221/phish+scanner+api/370/async-scanner' --header 'Authorization: Bearer YOUR_API_KEY'
--data-raw '{
"url": "https://example.com",
"is_private": true,
"browser_options": {
"page_timeout": 120,
"page_wait": 1,
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36",
"browser": "CHROME"
},
"feature_options": {
"har": true,
"certs": true,
"whois": true,
"urls": true,
"html": true,
"photos": false
}
}'
Header | Description |
---|---|
Authorization
|
[Required] Should be Bearer access_key . See "Your API Access Key" above when you are subscribed. |
No long term commitments. One click upgrade/downgrade or cancellation. No questions asked.
Zyla API Hub is like a big store for APIs, where you can find thousands of them all in one place. We also offer dedicated support and real-time monitoring of all APIs. Once you sign up, you can pick and choose which APIs you want to use. Just remember, each API needs its own subscription. But if you subscribe to multiple ones, you'll use the same key for all of them, making things easier for you.
Prices are listed in USD (United States Dollar), EUR (Euro), CAD (Canadian Dollar), AUD (Australian Dollar), and GBP (British Pound). We accept all major debit and credit cards. Our payment system uses the latest security technology and is powered by Stripe, one of the worldβs most reliable payment companies. If you have any trouble paying by card, just contact us at [email protected]
Additionally, if you already have an active subscription in any of these currencies (USD, EUR, CAD, AUD, GBP), that currency will remain for subsequent subscriptions. You can change the currency at any time as long as you don't have any active subscriptions.
The local currency shown on the pricing page is based on the country of your IP address and is provided for reference only. The actual prices are in USD (United States Dollar). When you make a payment, the charge will appear on your card statement in USD, even if you see the equivalent amount in your local currency on our website. This means you cannot pay directly with your local currency.
Occasionally, a bank may decline the charge due to its fraud protection settings. We suggest reaching out to your bank initially to check if they are blocking our charges. Also, you can access the Billing Portal and change the card associated to make the payment. If these does not work and you need further assistance, please contact our team at [email protected]
Prices are determined by a recurring monthly or yearly subscription, depending on the chosen plan.
API calls are deducted from your plan based on successful requests. Each plan comes with a specific number of calls that you can make per month. Only successful calls, indicated by a Status 200 response, will be counted against your total. This ensures that failed or incomplete requests do not impact your monthly quota.
Zyla API Hub works on a recurring monthly subscription system. Your billing cycle will start the day you purchase one of the paid plans, and it will renew the same day of the next month. So be aware to cancel your subscription beforehand if you want to avoid future charges.
To upgrade your current subscription plan, simply go to the pricing page of the API and select the plan you want to upgrade to. The upgrade will be instant, allowing you to immediately enjoy the features of the new plan. Please note that any remaining calls from your previous plan will not be carried over to the new plan, so be aware of this when upgrading. You will be charged the full amount of the new plan.
To check how many API calls you have left for the current month, look at the βX-Zyla-API-Calls-Monthly-Remainingβ header. For example, if your plan allows 1000 requests per month and you've used 100, this header will show 900.
To see the maximum number of API requests your plan allows, check the βX-Zyla-RateLimit-Limitβ header. For instance, if your plan includes 1000 requests per month, this header will display 1000.
The βX-Zyla-RateLimit-Resetβ header shows the number of seconds until your rate limit resets. This tells you when your request count will start fresh. For example, if it displays 3600, it means 3600 seconds are left until the limit resets.
Yes, you can cancel your plan anytime by going to your account and selecting the cancellation option on the Billing page. Please note that upgrades, downgrades, and cancellations take effect immediately. Additionally, upon cancellation, you will no longer have access to the service, even if you have remaining calls left in your quota.
You can contact us through our chat channel to receive immediate assistance. We are always online from 8 am to 5 pm (EST). If you reach us after that time, we will get back to you as soon as possible. Additionally, you can contact us via email at [email protected]
To let you experience our APIs without any commitment, we offer a 7-day free trial that allows you to make API calls at no cost during this period. Please note that you can only use this trial once, so make sure to use it with the API that interests you the most. Most of our APIs provide a free trial, but some may not support it.
After 7 days, you will be charged the full amount for the plan you were subscribed to during the trial. Therefore, itβs important to cancel before the trial period ends. Refund requests for forgetting to cancel on time are not accepted.
When you subscribe to an API trial, you can make only 25% of the calls allowed by that plan. For example, if the API plan offers 1000 calls, you can make only 250 during the trial. To access the full number of calls offered by the plan, you will need to subscribe to the full plan.
Service Level:
100%
Response Time:
238ms
Service Level:
100%
Response Time:
665ms
Service Level:
100%
Response Time:
622ms
Service Level:
100%
Response Time:
1,373ms
Service Level:
100%
Response Time:
2,452ms
Service Level:
100%
Response Time:
2,990ms
Service Level:
100%
Response Time:
224ms
Service Level:
100%
Response Time:
873ms
Service Level:
100%
Response Time:
7,847ms
Service Level:
100%
Response Time:
637ms
Service Level:
100%
Response Time:
317ms
Service Level:
100%
Response Time:
4,220ms
Service Level:
100%
Response Time:
1,394ms
Service Level:
100%
Response Time:
2,539ms
Service Level:
100%
Response Time:
462ms
Service Level:
100%
Response Time:
2,358ms
Service Level:
100%
Response Time:
410ms
Service Level:
100%
Response Time:
220ms