openapi: 3.2.0
info:
title: Neutrino Security and Networking API
version: 3.7.2
contact:
name: Neutrino API
url: https://www.neutrinoapi.com/
email: tech@neutrinoapi.com
description: 'Operations tagged Security and Networking across 2 of this provider''s published API definitions: neutrino-api-openapi-3.1.json, neutrino-api-swagger-2.0.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://neutrinoapi.net
description: Multicloud endpoint utilizing both GCP and AWS with IP anycast load balancing, DNS based geoproximity and cloud failover
variables: {}
- url: https://aws.neutrinoapi.net
description: AWS only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://gcp.neutrinoapi.net
description: GCP only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://neutrinoapi.com
description: Backup endpoint utilizing a seperate top-level domain and IP addresses
variables: {}
- url: https://eu.neutrinoapi.net
description: European Union geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://aus.neutrinoapi.net
description: Australia geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://usa.neutrinoapi.net
description: United States geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
security:
- user-id: []
api-key: []
tags:
- name: Security and Networking
description: APIs for security and networking tasks
paths:
/ip-blocklist-download:
parameters: []
servers:
- url: https://neutrinoapi.net
description: Multicloud endpoint utilizing both GCP and AWS with IP anycast load balancing, DNS based geoproximity and cloud failover
variables: {}
- url: https://aws.neutrinoapi.net
description: AWS only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://gcp.neutrinoapi.net
description: GCP only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://neutrinoapi.com
description: Backup endpoint utilizing a seperate top-level domain and IP addresses
variables: {}
- url: https://eu.neutrinoapi.net
description: European Union geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://aus.neutrinoapi.net
description: Australia geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://usa.neutrinoapi.net
description: United States geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
get:
tags:
- Security and Networking
summary: IP Blocklist Download
description: This API is a direct feed to our IP blocklist data
operationId: IPBlocklistDownload
parameters:
- name: format
in: query
description: The data format. Can be either CSV or TXT
style: form
explode: true
schema:
type: string
default: csv
- name: cidr
in: query
description: Output IPs using CIDR notation. This option should be preferred but is off by default for backwards compatibility
style: form
explode: true
schema:
type: boolean
default: false
- name: ip6
in: query
description: Output the IPv6 version of the blocklist, the default is to output IPv4 only. Note that this option enables CIDR notation too as this is the only notation currently supported for IPv6
style: form
explode: true
schema:
type: boolean
default: false
- name: category
in: query
description: 'The category of IP addresses to include in the download file, possible values are: <br> <ul> <li>all - all IPs available on your current plan (excludes VPN providers for any plans lower than Tier 3)</li> <li>bot - all IPs hosting a malicious bot or part of a botnet. This is a broad category which includes brute-force crackers</li> <li>exploit-bot - all IPs hosting an exploit finding bot or running exploit scanning software</li> <li>hijacked - all IPs that are part of a hijacked netblock or a netblock controlled by a criminal organization</li> <li>malware - all IPs involved in distributing or running malware or spyware</li> <li>proxy - all IPs detected as an anonymous web proxy or anonymous HTTP proxy</li> <li>spam-bot - all IPs hosting a spam bot, comment spamming or any other spamming type software</li> <li>spider - all IPs running a hostile web spider / web crawler</li> <li>tor - all IPs that are Tor nodes or running a Tor related service</li> <li>vpn - all IPs belonging to public VPN providers (only available for Tier 3 or higher accounts)</li> </ul>'
style: form
explode: true
schema:
type: string
default: all
- name: output-encoding
in: query
description: Set this option to 'gzip' to have the output file compressed using gzip
style: form
explode: true
schema:
type: string
- name: checksum
in: query
description: Do not download the file but just return the current files MurmurHash3 checksum. You can use this feature to check if the file has changed since a previous check
style: form
explode: true
schema:
type: boolean
default: false
responses:
'200':
description: ''
headers: {}
content:
application/octet-stream:
schema:
type: string
contentEncoding: base64
contentMediaType: application/octet-stream
'400':
description: Your API request has been rejected. Check error code for details
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'403':
description: You have failed to authenticate
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'500':
description: We messed up, sorry! Your request has caused a fatal exception
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
default:
description: We messed up, sorry! Your request has caused an error
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
deprecated: false
/ip-probe:
parameters: []
servers:
- url: https://neutrinoapi.net
description: Multicloud endpoint utilizing both GCP and AWS with IP anycast load balancing, DNS based geoproximity and cloud failover
variables: {}
- url: https://aws.neutrinoapi.net
description: AWS only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://gcp.neutrinoapi.net
description: GCP only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://neutrinoapi.com
description: Backup endpoint utilizing a seperate top-level domain and IP addresses
variables: {}
- url: https://eu.neutrinoapi.net
description: European Union geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://aus.neutrinoapi.net
description: Australia geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://usa.neutrinoapi.net
description: United States geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
get:
tags:
- Security and Networking
summary: IP Probe
description: Execute a realtime network probe against an IPv4 or IPv6 address
operationId: IPProbe
parameters:
- name: ip
in: query
description: An IPv4 or IPv6 address. Accepts standard IP notation and also CIDR notation
required: true
style: form
explode: true
schema:
type: string
examples:
- 194.233.98.38
responses:
'200':
description: ''
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/IPProbeResponse'
'400':
description: Your API request has been rejected. Check error code for details
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'403':
description: You have failed to authenticate
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'500':
description: We messed up, sorry! Your request has caused a fatal exception
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
default:
description: We messed up, sorry! Your request has caused an error
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
deprecated: false
/host-reputation:
parameters: []
servers:
- url: https://neutrinoapi.net
description: Multicloud endpoint utilizing both GCP and AWS with IP anycast load balancing, DNS based geoproximity and cloud failover
variables: {}
- url: https://aws.neutrinoapi.net
description: AWS only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://gcp.neutrinoapi.net
description: GCP only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://neutrinoapi.com
description: Backup endpoint utilizing a seperate top-level domain and IP addresses
variables: {}
- url: https://eu.neutrinoapi.net
description: European Union geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://aus.neutrinoapi.net
description: Australia geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://usa.neutrinoapi.net
description: United States geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
get:
tags:
- Security and Networking
summary: Host Reputation
description: Check the reputation of an IP address, domain name or URL against a comprehensive list of blacklists and blocklists
operationId: HostReputation
parameters:
- name: host
in: query
description: An IP address, domain name, FQDN or URL. <br> If you supply a domain/URL it will be checked against the URI DNSBL lists
required: true
style: form
explode: true
schema:
type: string
examples:
- neutrinoapi.com
- name: list-rating
in: query
description: Only check lists with this rating or better
style: form
explode: true
schema:
type: integer
contentEncoding: int32
default: 3
- name: zones
in: query
description: Only check these DNSBL zones/hosts. Multiple zones can be supplied as comma-separated values
style: form
explode: true
schema:
type: string
responses:
'200':
description: ''
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/HostReputationResponse'
'400':
description: Your API request has been rejected. Check error code for details
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'403':
description: You have failed to authenticate
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'500':
description: We messed up, sorry! Your request has caused a fatal exception
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
default:
description: We messed up, sorry! Your request has caused an error
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
deprecated: false
/email-verify:
parameters: []
servers:
- url: https://neutrinoapi.net
description: Multicloud endpoint utilizing both GCP and AWS with IP anycast load balancing, DNS based geoproximity and cloud failover
variables: {}
- url: https://aws.neutrinoapi.net
description: AWS only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://gcp.neutrinoapi.net
description: GCP only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://neutrinoapi.com
description: Backup endpoint utilizing a seperate top-level domain and IP addresses
variables: {}
- url: https://eu.neutrinoapi.net
description: European Union geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://aus.neutrinoapi.net
description: Australia geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://usa.neutrinoapi.net
description: United States geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
get:
tags:
- Security and Networking
summary: Email Verify
description: SMTP based email address verification
operationId: EmailVerify
parameters:
- name: email
in: query
description: An email address
required: true
style: form
explode: true
schema:
type: string
examples:
- tech@neutrinoapi.com
- name: fix-typos
in: query
description: Automatically attempt to fix typos in the address
style: form
explode: true
schema:
type: boolean
default: false
responses:
'200':
description: ''
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/EmailVerifyResponse'
'400':
description: Your API request has been rejected. Check error code for details
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'403':
description: You have failed to authenticate
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'500':
description: We messed up, sorry! Your request has caused a fatal exception
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
default:
description: We messed up, sorry! Your request has caused an error
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
deprecated: false
/domain-lookup:
parameters: []
servers:
- url: https://neutrinoapi.net
description: Multicloud endpoint utilizing both GCP and AWS with IP anycast load balancing, DNS based geoproximity and cloud failover
variables: {}
- url: https://aws.neutrinoapi.net
description: AWS only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://gcp.neutrinoapi.net
description: GCP only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://neutrinoapi.com
description: Backup endpoint utilizing a seperate top-level domain and IP addresses
variables: {}
- url: https://eu.neutrinoapi.net
description: European Union geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://aus.neutrinoapi.net
description: Australia geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://usa.neutrinoapi.net
description: United States geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
get:
tags:
- Security and Networking
summary: Domain Lookup
description: Retrieve domain name details and detect potentially malicious or dangerous domains
operationId: DomainLookup
parameters:
- name: host
in: query
description: A domain name, hostname, FQDN, URL, HTML link or email address to lookup
required: true
style: form
explode: true
schema:
type: string
examples:
- neutrinoapi.com
- name: live
in: query
description: 'For domains that we have never seen before then perform various live checks and realtime reconnaissance. <br> NOTE: this option may add additional non-deterministic delay to the request, if you require consistently fast API response times or just want to check our domain blocklists then you can disable this option'
style: form
explode: true
schema:
type: boolean
default: true
responses:
'200':
description: ''
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/DomainLookupResponse'
'400':
description: Your API request has been rejected. Check error code for details
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'403':
description: You have failed to authenticate
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'500':
description: We messed up, sorry! Your request has caused a fatal exception
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
default:
description: We messed up, sorry! Your request has caused an error
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
deprecated: false
/ip-blocklist:
parameters: []
servers:
- url: https://neutrinoapi.net
description: Multicloud endpoint utilizing both GCP and AWS with IP anycast load balancing, DNS based geoproximity and cloud failover
variables: {}
- url: https://aws.neutrinoapi.net
description: AWS only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://gcp.neutrinoapi.net
description: GCP only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://neutrinoapi.com
description: Backup endpoint utilizing a seperate top-level domain and IP addresses
variables: {}
- url: https://eu.neutrinoapi.net
description: European Union geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://aus.neutrinoapi.net
description: Australia geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://usa.neutrinoapi.net
description: United States geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
get:
tags:
- Security and Networking
summary: IP Blocklist
description: The IP Blocklist API will detect potentially malicious or dangerous IP addresses
operationId: IPBlocklist
parameters:
- name: ip
in: query
description: An IPv4 or IPv6 address. Accepts standard IP notation (with or without port number), CIDR notation and IPv6 compressed notation. If multiple IPs are passed using comma-separated values the first non-bogon address on the list will be checked
required: true
style: form
explode: true
schema:
type: string
examples:
- 104.244.72.115
- name: vpn-lookup
in: query
description: 'Include public VPN provider IP addresses. <br> <b>NOTE</b>: For more advanced VPN detection including the ability to identify private and stealth VPNs use the <a href="https://www.neutrinoapi.com/api/ip-probe/">IP Probe API</a>'
style: form
explode: true
schema:
type: boolean
default: false
responses:
'200':
description: ''
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/IPBlocklistResponse'
'400':
description: Your API request has been rejected. Check error code for details
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'403':
description: You have failed to authenticate
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'500':
description: We messed up, sorry! Your request has caused a fatal exception
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
default:
description: We messed up, sorry! Your request has caused an error
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
deprecated: false
components:
schemas:
HostReputationResponse:
title: HostReputationResponse
required:
- is-listed
- lists
- list-count
- host
type: object
properties:
is-listed:
type: boolean
description: Is this host blacklisted
lists:
type: array
items:
$ref: '#/components/schemas/Blacklist'
description: Array of objects for each DNSBL checked
list-count:
type: integer
description: The number of DNSBLs the host is listed on
contentEncoding: int32
host:
type: string
description: The IP address or host name
description: Structure of host-reputation
examples:
- host: neutrinoapi.com
is-listed: false
list-count: 0
lists:
- is-listed: false
list-host: uribl.zeustracker.abuse.ch
list-name: abuse.ch ZeuS Tracker Domain
list-rating: 3
response-time: 16
return-code: ''
txt-record: ''
- is-listed: false
list-host: uribl.abuse.ro
list-name: abuse.ro URI RBL
list-rating: 3
response-time: 49
return-code: ''
txt-record: ''
- is-listed: false
list-host: dblack.mail.abusix.zone
list-name: Abusix Domain Spam
list-rating: 2
response-time: 61
return-code: ''
txt-record: ''
- is-listed: false
list-host: bsb.empty.us
list-name: Blog Spam Blocklist (empty.us)
list-rating: 3
response-time: 16
return-code: ''
txt-record: ''
- is-listed: false
list-host: bsb.spamlookup.net
list-name: Blog Spam Blocklist (spamlookup.net)
list-rating: 3
response-time: 27
return-code: ''
txt-record: ''
- is-listed: false
list-host: bl.fmb.la
list-name: fmb.la
list-rating: 3
response-time: 16
return-code: ''
txt-record: ''
- is-listed: false
list-host: dbl.nordspam.com
list-name: NordSpam Domain Blacklist
list-rating: 2
response-time: 18
return-code: ''
txt-record: ''
- is-listed: false
list-host: ubl.nszones.com
list-name: nsZones.com SURBL
list-rating: 3
response-time: 19
return-code: ''
txt-record: ''
- is-listed: false
list-host: rhsbl.rymsho.ru
list-name: Rymsho's RHSBL
list-rating: 3
response-time: 51
return-code: ''
txt-record: ''
- is-listed: false
list-host: public.sarbl.org
list-name: SARBL
list-rating: 2
response-time: 12
return-code: ''
txt-record: ''
- is-listed: false
list-host: rhsbl.scientificspam.net
list-name: Scientific Spam
list-rating: 2
response-time: 4
return-code: ''
txt-record: ''
- is-listed: false
list-host: nomail.rhsbl.sorbs.net
list-name: SORBS Domain names indicating no email sender
list-rating: 2
response-time: 45
return-code: ''
txt-record: ''
- is-listed: false
list-host: badconf.rhsbl.sorbs.net
list-name: SORBS Domain names pointing to bad addresses
list-rating: 2
response-time: 23
return-code: ''
txt-record: ''
- is-listed: false
list-host: fresh.spameatingmonkey.net
list-name: Spam Eating Monkey SEM-FRESH
list-rating: 2
response-time: 90
return-code: ''
txt-record: ''
- is-listed: false
list-host: fresh10.spameatingmonkey.net
list-name: Spam Eating Monkey SEM-FRESH10
list-rating: 2
response-time: 86
return-code: ''
txt-record: ''
- is-listed: false
list-host: fresh15.spameatingmonkey.net
list-name: Spam Eating Monkey SEM-FRESH15
list-rating: 2
response-time: 87
return-code: ''
txt-record: ''
- is-listed: false
list-host: uribl.spameatingmonkey.net
list-name: Spam Eating Monkey SEM-URI
list-rating: 2
response-time: 85
return-code: ''
txt-record: ''
- is-listed: false
list-host: urired.spameatingmonkey.net
list-name: Spam Eating Monkey SEM-URIRED
list-rating: 2
response-time: 88
return-code: ''
txt-record: ''
- is-listed: false
list-host: dbl.spamhaus.org
list-name: Spamhaus DBL Domain Block List
list-rating: 1
response-time: 39
return-code: ''
txt-record: ''
- is-listed: false
list-host: dbl.suomispam.net
list-name: Suomispam Domain Blacklist
list-rating: 2
response-time: 21
return-code: ''
txt-record: ''
- is-listed: false
list-host: multi.surbl.org
list-name: SURBL multi (Combined SURBL list)
list-rating: 1
response-time: 21
return-code: ''
txt-record: ''
- is-listed: false
list-host: uribl.swinog.ch
list-name: Swinog URIBL
list-rating: 2
response-time: 24
return-code: ''
txt-record: ''
- is-listed: false
list-host: dob.sibl.support-intelligence.net
list-name: The Day Old Bread List (aka DOB)
list-rating: 3
response-time: 139
return-code: ''
txt-record: ''
- is-listed: false
list-host: black.uribl.com
list-name: URIBL black
list-rating: 1
response-time: 77
return-code: ''
txt-record: ''
- is-listed: false
list-host: uri.blacklist.woody.ch
list-name: Woody's SMTP Blacklist URIBL
list-rating: 3
response-time: 21
return-code: ''
txt-record: ''
- is-listed: false
list-host: rhsbl.zapbl.net
list-name: ZapBL RHSBL
list-rating: 3
response-time: 13
return-code: ''
txt-record: ''
- is-listed: false
list-host: zebl.zoneedit.com
list-name: ZoneEdit combined RHSBL
list-rating: 3
response-time: 4
return-code: ''
txt-record: ''
- is-listed: false
list-host: ban.zebl.zoneedit.com
list-name: ZoneEdit deny DNS services domains
list-rating: 3
response-time: 17
return-code: ''
txt-record: ''
EmailVerifyResponse:
title: EmailVerifyResponse
required:
- valid
- verified
- email
- typos-fixed
- syntax-error
- domain-error
- domain
- provider
- is-freemail
- is-disposable
- is-personal
- smtp-status
- smtp-response
- is-catch-all
- is-deferred
- mx-ip
- domain-status
type: object
properties:
valid:
type: boolean
description: 'Is this a valid email address. To be valid an email must have: correct syntax, a registered and active domain name, correct DNS records and operational MX servers'
verified:
type: boolean
description: True if this email address has passed SMTP username verification. Check the 'smtp-status' and 'domain-status' fields for specific verification details
email:
type: string
description: The complete email address. If you enabled the 'fix-typos' option then this will be the corrected address
typos-fixed:
type: boolean
description: True if any typos have been fixed. The 'fix-typos' option must be enabled for this to work
syntax-error:
type: boolean
description: True if this address has any syntax errors or is not in RFC compliant formatting
domain-error:
type: boolean
description: True if this address has any domain name or DNS related errors. Check the 'domain-status' field for the detailed error reason
domain:
type: string
description: The domain name of this email address
provider:
type: string
description: The domain name of the email hosting provider
is-freemail:
type: boolean
description: True if this address is from a free email provider
is-disposable:
type: boolean
description: True if this address is a disposable, temporary or darknet related email address
is-personal:
type: boolean
description: True if this address likely belongs to a person. False if this is a role based address, e.g. admin@, help@, office@, etc.
smtp-status:
type: string
description: '
# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/neutrino-api/refs/heads/main/openapi/neutrino-api-security-and-networking-api-openapi.yml