canonical: https://jentic.com/apis/networkdatalabs.com/networkdatalabs

# Network Data Labs API

The Network Data Labs API looks up an IPv4 or IPv6 address and returns its location, network, and traits in one response. Every location carries an accuracy_radius_km and a confidence of high, medium, low, or unknown rather than a single headline accuracy figure, alongside country, region, city, timezone, and coordinates. The network block gives the ASN, AS organization, ISP, containing CIDR prefix, and regional internet registry, and traits flag hosting, VPN, proxy, Tor, relay, mobile, satellite, and bogon addresses. Paid plans can look up as many as 100 IPs in one bulk request.

## For AI agents

Geolocate an IP address with an accuracy radius and confidence, read its ASN and network, flag VPN, Tor, proxy, and hosting traits, and look up ASN details.

## Scope

Does not geocode street addresses, block traffic, or keep abuse reports. Use for IP and ASN intelligence lookups only.

## Capabilities

- Geolocate an IPv4 or IPv6 address to country, region, city, timezone, and coordinates, with an accuracy_radius_km and confidence level on every result
- Identify an address's ASN, as_org, ISP, containing CIDR prefix, and regional internet registry
- Flag whether an IP is hosting, VPN, proxy, Tor, relay, mobile, satellite, or bogon through boolean traits such as is_vpn and is_tor
- Look up an autonomous system by number, as 15169 or AS15169, for its name, organization, type, RIR, and sample prefixes
- Look up as many as 100 IPs in one bulk request with per-IP errors that do not fail the batch
- Return the caller's own public IP and plan and quota hints, and check service health and data freshness

## Use cases

### Agent triaging suspicious logins

A security assistant reviewing sign-in alerts needs to know where each IP sits and whether it is anonymized. Through Jentic the agent searches for 'look up an IP address', loads the Network Data Labs getIpLookup operation with its input schema, and reads the location with its accuracy_radius_km and confidence plus traits such as is_vpn, is_tor, and is_hosting. A wide radius tells the agent the city is only a best-effort guess, so it does not overstate the finding. The API key is attached by your own Jentic One instance at call time.

Example prompt: Call GET `/v0/ip/{ip}` for 185.220.101.1 and report the country, the confidence, and whether is_tor or is_vpn is true

### Batch enrichment of access logs

An analytics job enriching a day of access logs sends IPs in batches of up to 100. The bulk operation returns a map keyed by IP with failures listed under errors, so one malformed address does not fail the batch. Each bulk call counts once toward the per-minute rate limit but once per IP toward the daily UTC quota, and it requires a paid plan.

Example prompt: Call POST `/v0/bulk` with ips containing 100 addresses from a log file and summarize results by country_code

### Network ownership research

When an IP belongs to an unfamiliar network, an engineer looks up the autonomous system behind it. The ASN operation accepts a number or an AS-prefixed string and returns the AS name, organization, type, registry, and sample prefixes, which helps decide whether traffic is from a cloud provider, an ISP, or a hosting company.

Example prompt: Call GET `/v0/ip/{ip}` for 4.2.2.2, take network.asn from the response, then call GET `/v0/asn/{asn}` and report the organization and RIR

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/v0/ip/{ip}` | Full IP intelligence lookup |
| GET | `/v0/ip` | Look up your own IP |
| GET | `/v0/asn/{asn}` | ASN detail |
| POST | `/v0/bulk` | Bulk IP lookup |
| GET | `/v0/me` | Caller IP and account info |
| GET | `/health` | Service health and data freshness |

## Key resources

- **IP lookup** — Location with accuracy radius and confidence, network and ASN, and anonymizer and hosting traits for one IP or the caller's IP
- **ASN** — Autonomous system name, organization, type, RIR, and sample prefixes
- **Bulk** — Batch lookups of as many as 100 IPs per request on paid plans
- **Account and health** — Caller IP with plan and quota hints, and unauthenticated service health with data build date

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 67 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 90 / 100
  - Developer Experience & Jentic Compatibility: 74 / 100
  - AI-Readiness & Agent Experience: 54 / 100
  - Agent Usability: 94 / 100
  - Security: 38 / 100
  - AI Discoverability: 94 / 100
- **View full report:** https://jentic.com/apis/networkdatalabs.com/networkdatalabs/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring Network Data Labs by hand means picking between a bearer header and an api_key query parameter, handling 403 PLAN_REQUIRED on bulk for free keys, and tracking two quota counters that bulk calls consume differently. Through Jentic you install once, import Network Data Labs from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Network Data Labs puts the IP and the ASN in the URL path, but the useful bound is by operation: a rule can limit your agent to single IP and ASN lookups. You choose the operations it may call, so quota-heavy bulk lookups are not included unless you add them.
- **Credential handling:** Your Network Data Labs key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'look up an IP address' or 'check if an IP is a VPN', and Jentic returns the matching Network Data Labs operation with its input schema so the agent calls the right lookup.

## Related APIs

- **MaxMind GeoIP Web Services API** — Long-established IP geolocation and network data web service
- **ipdata** — IP geolocation with threat and ASN data
- **AbuseIPDB API** — Community abuse reports and confidence scores for IP addresses

## FAQ

### What authentication does the Network Data Labs API use?

Per its OpenAPI spec, the lookup operations accept an API key issued by Network Data Labs either as a bearer token in the Authorization header or in the api_key query parameter; the header is preferred in production. Unknown or missing keys return 401 UNAUTHORIZED, while GET /health needs no credential. Through Jentic the key is stored encrypted by your own instance and attached per call.

### How accurate is the location the Network Data Labs API returns?

Each geo result includes accuracy_radius_km, an estimated radius in kilometers, and confidence, which is high, medium, low, or unknown. A wide radius such as 1000 means the city is a best-effort guess, so read both fields before acting on a city-level result.

### What are the rate limits for the Network Data Labs API?

The spec describes a per-minute rate limit and a daily UTC quota without stating the numbers, which depend on plan. A bulk request counts as one request toward the per-minute limit and as one lookup per IP toward the daily quota, and GET `/v0/me` returns plan and quota hints for your key.

### Is there a Network Data Labs MCP server?

You don't need an MCP server to give your agent Network Data Labs. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls the IP, ASN, and bulk lookups it needs.

### How do I look up an IP with the Network Data Labs API through Jentic?

Import Network Data Labs from the API Directory in your Jentic One instance and store your key. Your agent searches for 'look up an IP address', loads GET `/v0/ip/{ip}`, and passes the address, then reads location, network, and traits from the response. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Can I limit what my agent is allowed to do with the Network Data Labs API?

Yes. Write a rule that allows only GET `/v0/ip/{ip}` and GET `/v0/asn/{asn}`, and the agent can answer single lookups but cannot run bulk batches that draw down the daily quota one IP at a time. Every call it makes is logged.
