API Documentation

Snoopi.io's comprehensive API documentation to seamlessly integrate GeoIP Location into your web or mobile applications. Whether you're building from scratch or seeking a quick implementation, we provide clear integration guides for developers.

For WordPress users, we also offer a simple plugin solution to get you started immediately.

Snoopi.io Developer Resource

Snoopi.io's GeoIP Location API enables quick and seamless integration of location intelligence into your applications. Access precise geolocation data including city, country, timezone, and coordinates with millisecond response times. Our JSON endpoints support both IPv4 and IPv6 lookups with minimal configuration required.

Quick Start Guide

All registered users (free or paid) have access to all API Endpoints. If you have not registered, please register for your free API Key and easily integrate the GeoIP Location tools into your next project. 

Authentication

Your API token is used to authenticate you with our API and can be provided either as an HTTP Basic Auth username, a bearer token, or alternatively as a token URL parameter.

Your API Key is used to authenticate your project with our API. We made it use to use the API in URL or CURL. 

Setting Up Your API Key

We made it easy to setup your API Key. You can assign different API Keys to different websites or projects that will allow you to monitor requests or traffic for thos projects. 

HTTPS/ SSL

We made it easy to setup your API Key. You can assign different API Keys to different websites or projects that will allow you to monitor requests or traffic for thos projects. 

				
					# get details on current ip address using HTTPS 
curl https://api.snoopi.io/check?apikey=(YOUR_API_KEY)

				
			

IP Address Support

The API accepts both IPv4 and IPv6 addresses for location lookup. You can pass a specific IP address as a parameter, or simply make a request without an IP address – in this case, the API will automatically detect and return location details for the calling IP address. This feature is particularly useful when you need to identify visitor locations without collecting their IP address in advance.

				
					# get details for 8.8.8.8
curl api.snoopi.io/8.8.8.8?apikey=(YOUR_API_KEY)

# get details for 2600:1700:3d54:1880:e02e:1ad9:14be:5e48
curl api.snoopi.io/2600:1700:3d54:1880:e02e:1ad9:14be:5e48?apikey=(YOUR_API_KEY)

# get details on current ip address 
curl api.snoopi.io/check?apikey=(YOUR_API_KEY)

				
			

API Request Rate Limiting

Snoopi.io free API Plan is limited to 5,000 API requests per month. If you hit that limit, you will receive a 429 HTTP status code to you. 

Checkout pricing options if you think you will going over 5,000 Requests per month for your website or project. 

API Endpoints

Access Snoopi.io’s geolocation data through our straightforward API endpoints, supporting both GET and POST requests. Below you’ll find detailed explanations of each endpoint with request and response examples to help you quickly integrate location intelligence into your projects.

Basic GeoIP Lookup

Snoopi.io’s primary endpoint is Standard Lookup, designed for querying individual IPv4 or IPv6 addresses. To make a request, simply append the IP address to our API’s base URL.

				
					# Request::
https://api.snoopi.io/61.75.94.65?apikey=(YOUR_API_KEY)

				
			
				
					## Response:: 

{
  "State": "Seoul-teukbyeolsi",
  "StateCode": null,
  "City": "Seoul",
  "Postal": "100-101",
  "Latitude": 37.56826,
  "Longitude": 126.977829,
  "AreaCode": "02",
  "CallingCode": "82",
  "Country": {
    "CountryName": "Korea (Republic of)",
    "CountryCode": "KR",
    "CountryFlag": "https://snoopi.io/assets/flags/kr.svg",
    "ContinentCode": "AS",
    "ContinentName": "Asia",
    "CountryFullName": "Republic of Korea",
    "CountryISO": "KOR"
  },
  "TimeZone": {
    "GMT_OffSet": "+09:00",
    "TimeZoneName": "Asia/Seoul"
  },
  "ISP": {
    "ISP_Name": "KT Corporation",
    "DomainName": "kt.com",
    "Connection": "DSL"
  },
  "Mobile": {
    "Carrier": "olleh",
    "CountryCode": "450",
    "NetworkCode": "08"
  },
  "Weather": {
    "StationCode": "KSXX0037",
    "StationName": "Seoul"
  },
  "RequestTime": 1732053259,
  "RequestedIP": "201.233.74.252",
  "IP_Version": "ipv4"
}
				
			

ZipCode Range by ZipCode

ZipCode Range allows you to get a list of zipcodes within a specified range distance. This is good for those that are looking to do store location, directory listings for Food delivery apps etc.. 

Parameter Description
apikey Your API Key Required
country Abreviate Country Code; ex. - Default: US
range ex. 5 Default: 10 miles
				
					# Example with Colombia ZipCode - 
# Request:: 

https://api.migracion.co/zipcode/range/33426?
        apikey=(YOUR_API_KEY)&
        range=5&
        country=co

				
			
				
					# Standard Request with US Zipcode - 
# Request:: 

https://api.migracion.co/zipcode/range/33426?apikey=(YOUR_API_KEY)

				
			
				
					## Response:: 

[
  {
    "zipcode": "33426",
    "statecode": "FL",
    "state": "Florida",
    "county": "Palm Beach",
    "city": "Boynton Beach",
    "timezone": "America/New_York",
    "lat": "26.527854",
    "lon": "-80.080323",
    "miles": 0
  },
  {
    "zipcode": "33425",
    "statecode": "FL",
    "state": "Florida",
    "county": "Palm Beach",
    "city": "Boynton Beach",
    "timezone": "America/New_York",
    "lat": "26.525300",
    "lon": "-80.066800",
    "miles": 0.853814284661927
  },
  {
    "zipcode": "33424",
    "statecode": "FL",
    "state": "Florida",
    "county": "Palm Beach",
    "city": "Boynton Beach",
    "timezone": "America/New_York",
    "lat": "26.525300",
    "lon": "-80.066800",
    "miles": 0.853814284661927
  }
]
				
			

ZipCode Range by Coordinates (lat, lon)

ZipCode Range by Coordinates allow you to get a range of zipcodes, city, state, etc..  this will return within the mile radius. Great for delivery apps, and mobile app projects that need to get a user’s location based on their cooridnates.

Parameter Description
apikey Your API Key Required
country Abreviate Country Code; ex. - Default: US
range ex. 5 Default: 10 miles
				
					# Example with Colombia ZipCode - 
# Request:: 

https://api.migracion.co/zipcode/rangebycoord/6.297614/-75.548777?apikey=(YOUR_API_KEY)&
        range=5&
        country=CO
				
			
				
					# Standard Request with US Zipcode - 
# Request:: 

https://api.migracion.co/zipcode/rangebycoord/40.694599/-73.990638?apikey=(YOUR_API_KEY)&
        range=5
				
			
				
					## Response:: 

[
  {
    "zipcode": "11201",
    "statecode": "NY",
    "state": "New York",
    "county": "Kings",
    "city": "Brooklyn",
    "timezone": "America/New_York",
    "lat": "40.694599",
    "lon": "-73.990638",
    "miles": 0
  },
  {
    "zipcode": "11201",
    "statecode": "NY",
    "state": "New York",
    "county": "Kings",
    "city": "Brooklyn",
    "timezone": "America/New_York",
    "lat": "40.694599",
    "lon": "-73.990638",
    "miles": 0
  },
  {
    "zipcode": "11243",
    "statecode": "NY",
    "state": "New York",
    "county": "Kings",
    "city": "Brooklyn",
    "timezone": "America/New_York",
    "lat": "40.695500",
    "lon": "-73.990400",
    "miles": 0.0634451227943843
  }
]