Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/cloudmersive:cloudmersive-ip-address-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: v1
title: validateapi IP Address API
description: The validation APIs help you validate data. Check if an E-mail address is real. Check if a domain is real. Check up on an IP address, and even where it is located. All this and much more is available in the validation API.
servers:
- url: http://localhost
tags:
- name: IP Address
paths:
/validate/ip/intelligence:
post:
tags:
- IP Address
summary: Get intelligence on an IP address
description: Identify key intelligence about an IP address, including if it is a known threat IP, known bot, Tor exit node, as well as the location of the IP address.
operationId: IPAddress_IpIntelligence
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/IPIntelligenceResponse'
text/json:
schema:
$ref: '#/components/schemas/IPIntelligenceResponse'
application/xml:
schema:
$ref: '#/components/schemas/IPIntelligenceResponse'
text/xml:
schema:
$ref: '#/components/schemas/IPIntelligenceResponse'
security:
- Apikey: []
requestBody:
content:
application/json:
schema:
type: string
text/json:
schema:
type: string
description: IP address to process, e.g. "55.55.55.55". The input is a string so be sure to enclose it in double-quotes.
required: true
/validate/ip/geolocate:
post:
tags:
- IP Address
summary: Geolocate an IP address
description: Identify an IP address Country, State/Provence, City, Zip/Postal Code, etc. Useful for security and UX applications.
operationId: IPAddress_Post
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GeolocateResponse'
text/json:
schema:
$ref: '#/components/schemas/GeolocateResponse'
application/xml:
schema:
$ref: '#/components/schemas/GeolocateResponse'
text/xml:
schema:
$ref: '#/components/schemas/GeolocateResponse'
security:
- Apikey: []
requestBody:
content:
application/json:
schema:
type: string
text/json:
schema:
type: string
description: IP address to geolocate, e.g. "55.55.55.55". The input is a string so be sure to enclose it in double-quotes.
required: true
/validate/ip/geolocate/street-address:
post:
tags:
- IP Address
summary: Geolocate an IP address to a street address
description: Identify an IP address's street address. Useful for security and UX applications.
operationId: IPAddress_GeolocateStreetAddress
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GeolocateStreetAddressResponse'
text/json:
schema:
$ref: '#/components/schemas/GeolocateStreetAddressResponse'
application/xml:
schema:
$ref: '#/components/schemas/GeolocateStreetAddressResponse'
text/xml:
schema:
$ref: '#/components/schemas/GeolocateStreetAddressResponse'
security:
- Apikey: []
requestBody:
content:
application/json:
schema:
type: string
text/json:
schema:
type: string
description: IP address to geolocate, e.g. "55.55.55.55". The input is a string so be sure to enclose it in double-quotes.
required: true
/validate/ip/is-threat:
post:
tags:
- IP Address
summary: Check if IP address is a known threat
description: Check if the input IP address is a known threat IP address. Checks against known bad IPs, botnets, compromised servers, and other lists of threats.
operationId: IPAddress_IsThreat
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/IPThreatResponse'
text/json:
schema:
$ref: '#/components/schemas/IPThreatResponse'
application/xml:
schema:
$ref: '#/components/schemas/IPThreatResponse'
text/xml:
schema:
$ref: '#/components/schemas/IPThreatResponse'
security:
- Apikey: []
requestBody:
content:
application/json:
schema:
type: string
text/json:
schema:
type: string
description: IP address to check, e.g. "55.55.55.55". The input is a string so be sure to enclose it in double-quotes.
required: true
/validate/ip/is-tor-node:
post:
tags:
- IP Address
summary: Check if IP address is a Tor node server
description: Check if the input IP address is a Tor exit node server. Tor servers are a type of privacy-preserving technology that can hide the original IP address who makes a request.
operationId: IPAddress_IsTorNode
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TorNodeResponse'
text/json:
schema:
$ref: '#/components/schemas/TorNodeResponse'
application/xml:
schema:
$ref: '#/components/schemas/TorNodeResponse'
text/xml:
schema:
$ref: '#/components/schemas/TorNodeResponse'
security:
- Apikey: []
requestBody:
content:
application/json:
schema:
type: string
text/json:
schema:
type: string
description: IP address to check, e.g. "55.55.55.55". The input is a string so be sure to enclose it in double-quotes.
required: true
/validate/ip/is-bot:
post:
tags:
- IP Address
summary: Check if IP address is a Bot client
description: Check if the input IP address is a Bot, robot, or otherwise a non-user entity. Leverages real-time signals to check against known high-probability bots..
operationId: IPAddress_IsBot
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BotCheckResponse'
text/json:
schema:
$ref: '#/components/schemas/BotCheckResponse'
application/xml:
schema:
$ref: '#/components/schemas/BotCheckResponse'
text/xml:
schema:
$ref: '#/components/schemas/BotCheckResponse'
security:
- Apikey: []
requestBody:
content:
application/json:
schema:
type: string
text/json:
schema:
type: string
description: IP address to check, e.g. "55.55.55.55". The input is a string so be sure to enclose it in double-quotes.
required: true
/validate/ip/reverse-domain-lookup:
post:
tags:
- IP Address
summary: Perform a reverse domain name (DNS) lookup on an IP address
description: Gets the domain name, if any, associated with the IP address.
operationId: IPAddress_ReverseDomainLookup
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/IPReverseDNSLookupResponse'
text/json:
schema:
$ref: '#/components/schemas/IPReverseDNSLookupResponse'
application/xml:
schema:
$ref: '#/components/schemas/IPReverseDNSLookupResponse'
text/xml:
schema:
$ref: '#/components/schemas/IPReverseDNSLookupResponse'
security:
- Apikey: []
requestBody:
content:
application/json:
schema:
type: string
text/json:
schema:
type: string
description: IP address to check, e.g. "55.55.55.55". The input is a string so be sure to enclose it in double-quotes.
required: true
components:
schemas:
GeolocateStreetAddressResponse:
description: Geolocation street address result
type: object
properties:
CountryCode:
description: Two-letter country code of IP address
type: string
CountryName:
description: Country name of IP address
type: string
StreetAddress:
description: Street address of IP address
type: string
City:
description: City of IP address
type: string
RegionName:
description: State/region of IP address
type: string
ZipCode:
description: Zip or postal code of IP address
type: string
IPIntelligenceResponse:
description: IP address intelligence result
type: object
properties:
IsBot:
description: True if the IP address is a known bot, otherwise false
type: boolean
IsTorNode:
description: True if the IP address is a known Tor exit node, otherwise false
type: boolean
IsThreat:
description: True if the IP address is a known threat IP, otherwise false
type: boolean
IsEU:
description: True if the IP address is in the European Union, otherwise false
type: boolean
Location:
$ref: '#/components/schemas/GeolocateResponse'
description: Returns the location of the IP address
CurrencyCode:
description: ISO 4217 currency code for the IP address location
type: string
CurrencyName:
description: Name of the currency in English
type: string
RegionArea:
description: Region (continent) in which the country is located; possible values are None, Europe, Americas, Asia, Africa, Oceania
type: string
SubregionArea:
description: Subregion in which the country is located; possible values are None, NorthernEurope, WesternEurope, SouthernEurope, EasternEurope, CentralAmerica, NorthernAmerica, SouthAmerica, EasternAfrica, MiddleAfrica, NorthernAfrica , SouthernAfrica , WesternAfrica , CentralAsia , EasternAsia , SouthernAsia , SouthEasternAsia , WesternAsia , Southern , Middle , AustraliaandNewZealand , Melanesia , Polynesia , Micronesia , Caribbean,
type: string
IPThreatResponse:
description: Result of performing a IP threat check on an IP address
type: object
properties:
IsThreat:
description: True if the input IP address is a threat, false otherwise
type: boolean
ThreatType:
description: Specifies the type of IP threat; possible values include Blocklist, Botnet, WebBot
type: string
GeolocateResponse:
description: Geolocation result of performing an IP address geolocation operation. This product includes GeoLite2 data created by MaxMind, available from www.maxmind.com.
type: object
properties:
CountryCode:
description: Two-letter country code of IP address
type: string
CountryName:
description: Country name of IP address
type: string
City:
description: City of IP address
type: string
RegionCode:
description: State/region code of IP address
type: string
RegionName:
description: State/region of IP address
type: string
ZipCode:
description: Zip or postal code of IP address
type: string
TimezoneStandardName:
description: Timezone of IP address
type: string
Latitude:
format: double
description: Latitude of IP address
type: number
Longitude:
format: double
description: Longitude of IP address
type: number
BotCheckResponse:
description: Result of performing a Bot check on an IP address
type: object
properties:
IsBot:
description: True if the input IP address is a Bot or Robot, false otherwise
type: boolean
IPReverseDNSLookupResponse:
description: Result of performing a Reverse Domain (DNS) lookup on an IP address
type: object
properties:
Successful:
description: True if a domain was found, false otherwise
type: boolean
HostName:
description: Host name (fully-qualified) associated with the IP address, if any
type: string
TorNodeResponse:
description: Result of performing a Tor node check on an IP address
type: object
properties:
IsTorNode:
description: True if the input IP address is a Tor exit node, false otherwise
type: boolean
securitySchemes:
Apikey:
type: apiKey
description: API Key Authentication
name: Apikey
in: header
x-provenance:
method: harvested
publisher: Cloudmersive
source: https://api.cloudmersive.com/validate/docs/v1/swagger
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)