Skip to main content

Getting Started with LimesIndex

LimesIndex is an IP intelligence API that provides detailed information about IP addresses, including ASN data, geolocation, datacenter detection, threat scoring, and AI crawler identification.

This guide will help you get up and running with the LimesIndex API in just a few minutes.

Current MVP

LimesIndex currently focuses on IP address intelligence. Phone number intelligence is on the roadmap for a future release.

Prerequisites

Before you begin, you'll need:

  • A LimesIndex account
  • An API key (obtained from the dashboard)
  • Basic familiarity with REST APIs

Step 1: Create an Account

  1. Visit the LimesIndex Dashboard
  2. Click Sign Up and complete the registration process
  3. Verify your email address

Step 2: Get Your API Key

Once logged in to the dashboard:

  1. Navigate to API Keys in the sidebar
  2. Click Create New API Key
  3. Give your key a descriptive name (e.g., "Production API Key")
  4. Copy your API key and store it securely
Keep Your API Key Secret

Your API key grants access to your account. Never share it publicly or commit it to version control. Use environment variables to store your key securely.

Step 3: Make Your First Request

Let's look up information about an IP address. Replace YOUR_API_KEY with your actual API key:

Using cURL

curl -X GET "https://api.limesindex.com/v1/ip/8.8.8.8" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Accept: application/json"

Using Python

import requests

API_KEY = "YOUR_API_KEY"
IP_ADDRESS = "8.8.8.8"

response = requests.get(
f"https://api.limesindex.com/v1/ip/{IP_ADDRESS}",
headers={
"X-API-Key": API_KEY,
"Accept": "application/json"
}
)

data = response.json()
print(f"IP: {data['data']['ip']}")
print(f"ASN: {data['data']['asn']} - {data['data']['asn_name']}")
print(f"Country: {data['data']['country']}")
print(f"Is Datacenter: {data['data']['detection']['is_datacenter']}")

Using JavaScript (Node.js)

const API_KEY = 'YOUR_API_KEY';
const IP_ADDRESS = '8.8.8.8';

fetch(`https://api.limesindex.com/v1/ip/${IP_ADDRESS}`, {
method: 'GET',
headers: {
'X-API-Key': API_KEY,
'Accept': 'application/json'
}
})
.then(response => response.json())
.then(data => {
console.log(`IP: ${data.data.ip}`);
console.log(`ASN: ${data.data.asn} - ${data.data.asn_name}`);
console.log(`Country: ${data.data.country}`);
console.log(`Is Datacenter: ${data.data.detection.is_datacenter}`);
});

Using Go

package main

import (
"encoding/json"
"fmt"
"io"
"net/http"
)

func main() {
apiKey := "YOUR_API_KEY"
ipAddress := "8.8.8.8"

req, _ := http.NewRequest("GET",
fmt.Sprintf("https://api.limesindex.com/v1/ip/%s", ipAddress),
nil)
req.Header.Set("X-API-Key", apiKey)
req.Header.Set("Accept", "application/json")

client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()

body, _ := io.ReadAll(resp.Body)

var result map[string]interface{}
json.Unmarshal(body, &result)

data := result["data"].(map[string]interface{})
fmt.Printf("IP: %s\n", data["ip"])
fmt.Printf("ASN: %.0f - %s\n", data["asn"], data["asn_name"])
fmt.Printf("Country: %s\n", data["country"])
}

Step 4: Understand the Response

A successful IP lookup returns a response like this:

{
"data": {
"ip": "8.8.8.8",
"prefix": "8.8.8.0/24",
"asn": 15169,
"asn_name": "Google LLC",
"country": "US",
"rir": "ARIN",
"connection_type": "datacenter",
"detection": {
"is_datacenter": true,
"is_tor_exit": false,
"is_proxy": false,
"is_vpn": false,
"is_residential": false,
"is_mobile": false,
"is_ai_crawler": false,
"cloud_provider": "Google Cloud"
},
"threat": {
"score": 0,
"level": "low"
}
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"processing_time_ms": 5,
"cache_status": "HIT",
"dataset_version": 1
}
}

Key Response Fields

FieldDescription
data.ipThe queried IP address
data.asnAutonomous System Number
data.asn_nameName of the organization owning the ASN
data.countryISO 3166-1 alpha-2 country code
data.detectionDetection flags (datacenter, VPN, proxy, etc.)
data.threatThreat score and level
meta.request_idUnique ID for debugging and support
meta.cache_statusWhether the result was cached (HIT/MISS)

Next Steps

Now that you've made your first request, explore these topics:

Need Help?

  • Check the FAQ for common questions
  • Visit the API Reference for complete endpoint documentation
  • Contact support through the Dashboard