API features
IPv4 and IPv6 geolocation
Look up approximate country, region, city, latitude, and longitude for a public IPv4 or IPv6 address.
Application log enrichment
Add consistent location fields to access, authentication, support, and operational logs when coverage is available.
Traffic review context
Add approximate geographic context to traffic review and anomaly triage without treating it as precise device location.
Analytics segmentation
Group public network traffic by available country, region, or city fields for reporting and product analytics.
Dashboard-ready coordinates
Use nullable latitude and longitude fields in maps, dashboards, and location-aware operational views.
Predictable JSON integration
Integrate one stable response shape while handling valid public addresses that have no current location coverage.
API Document
HTTP Protocol:HTTPS
HTTP Method:GET
HTTP Endpoint:https://api.gugudata.io/v1/location/ip
Response Type:application/json; charset=utf-8
DEMO Endpoint:https://api.gugudata.io/v1/location/ip/demo
Live Demo:Try Interactive Demo
Postman Collection:Run in Postman
API Request Parameters
| Name | Type | Is Required | Default Value | Remark |
|---|---|---|---|---|
| appkey | string | true | YOUR_APPKEY | API key used to authenticate the request. |
| ip | string | true | 8.8.8.8 | Public IPv4 or IPv6 address to look up. Private, reserved, loopback, multicast, and malformed addresses are rejected. |
API Response Parameters
| Name | Type | Remark |
|---|---|---|
| dataStatus.requestParameter | string | Privacy-safe summary of the normalized request. |
| dataStatus.statusCode | integer | Application-level status code. |
| dataStatus.status | string | Application-level result status. |
| dataStatus.statusDescription | string | Human-readable application status message. |
| dataStatus.responseDateTime | string | Time at which the response was generated. |
| dataStatus.dataTotalCount | integer | Number of matching or returned records for this request. |
| data.countryCode | string | Nullable ISO 3166-1 alpha-2 country code. |
| data.state | string | Nullable region, state, or province name. |
| data.city | string | Nullable city name. |
| data.latitude | number | Nullable approximate latitude coordinate. |
| data.longitude | number | Nullable approximate longitude coordinate. |
API Response Status Codes
| Status Code | Explanation of Status Code | Remarks |
|---|---|---|
| 200 | Request processed successfully. | Some endpoints expose a separate application-level status field in the response body, such as `dataStatus.statusCode`. |
| 400 | Invalid request parameters or request format. | Check required fields, data types, and request body format. |
| 401 | Missing or unknown application key. | Provide a valid `appkey` with the request. |
| 403 | The application key is recognized but access is not allowed. | The key may be expired, inactive, or not permitted for the requested API. |
| 429 | Request rate or trial usage limit exceeded. | Reduce request frequency and retry with backoff. If a trial allowance is exhausted, check Trial Keys for remaining requests and subscribe to continue. |
| 500 | Internal service error. | Retry later or contact support if the error persists. |
| 503 | Upstream service unavailable. | Retry later; the requested upstream dependency is temporarily unavailable. |
Remote MCP
Use this API through GuGuData Remote MCP
Connect your AI client once, authorize in the browser, and the client can use the GuGuData API tools available to your account. You do not need to paste an appkey into the MCP client.
https://mcp.gugudata.io/mcp{
"mcpServers": {
"gugudata": {
"url": "https://mcp.gugudata.io/mcp",
"transportType": "streamable-http"
}
}
}Code Snippets
Frequently asked questions
Can I look up both IPv4 and IPv6 addresses?
Yes. The input accepts public IPv4 or IPv6 addresses. Private, reserved, loopback, multicast, and malformed addresses are rejected.
Which location fields are included?
Available values include countryCode, state, city, latitude, and longitude. These fields are nullable, so preserve missing values in your logs or user interface.
Does IP geolocation identify an exact street address?
No. The product provides approximate IP-based location data. It should not be treated as a precise device position or proof that a person is physically at the returned coordinates.
Can this endpoint tell me whether an IP uses a VPN or proxy?
The documented response contains location fields. It does not expose a VPN, proxy, ISP, or ASN classification, so do not infer those attributes from the location result alone.
How can I use the output for log enrichment?
Store the original public IP with the available location fields, and keep null values distinct from valid coordinates. Use the data for aggregate analysis or regional context rather than identifying an individual user.
What does the 5 requests per second limit mean?
It is a request-rate limit, not a concurrency allowance. Keep your request rate at or below 5 per second. If the service returns a rate-limit response, reduce the frequency and retry with backoff.
Is total paid usage limited?
There is no total request cap during an active paid subscription and no usage-based overage charge.
How does the free trial work?
Each account can receive a limited trial key. Requests are shared across APIs in the same category. Check Trial Keys for the exact allowance and remaining requests.
How do renewal and cancellation work?
The plan renews annually until canceled. Manage or cancel the renewal from Dashboard → Orders & Billing. Access continues through the paid period after cancellation. See the Terms of Service for the current refund policy. If the billing portal is unavailable, contact support.
Service terms
Read our service terms and privacy policy before subscribing.



