Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Network Data Labs API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fnetworkdatalabs.com%2Fnetworkdatalabs" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fnetworkdatalabs.com%2Fnetworkdatalabs" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Network Data Labs API.
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
GET STARTED
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
Patterns agents use Network Data Labs API for, with concrete tasks.
★ 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.
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.
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.
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
6 endpoints — the network data labs api looks up an ipv4 or ipv6 address and returns its location, network, and traits in one response.
METHOD
PATH
DESCRIPTION
/v0/ip/{ip}
Full IP intelligence lookup
/v0/ip
Look up your own IP
/v0/asn/{asn}
ASN detail
/v0/bulk
Bulk IP lookup
/v0/me
Caller IP and account info
/health
Service health and data freshness
/v0/ip/{ip}
Full IP intelligence lookup
/v0/ip
Look up your own IP
/v0/asn/{asn}
ASN detail
/v0/bulk
Bulk IP lookup
/v0/me
Caller IP and account info
/health
Service health and data freshness
What agents get from Jentic-routed access to this vendor.
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 isolation
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.
Intent-based discovery
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.
Alternatives and complements available in the Jentic catalogue.
Specific to using Network Data Labs API through Jentic.
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.
For 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.
Use for: Find where the IP address 8.8.8.8 is located, Check whether this IP is a VPN or Tor exit, Get the ASN and ISP for an IP address, Look up AS15169
Not supported: Does not geocode street addresses, block traffic, or keep abuse reports. Use for IP and ASN intelligence lookups only.
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.
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.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>