---
updatedAt: 2026-03-01T18:49:20.000Z
agentTools:
  siteIndex: https://techdocs.akamai.com/llms.txt
  projectIndex: https://techdocs.akamai.com/edge-diagnostics/llms.txt
---

# Locate an IP network

Returns geolocation data of an IP's network. You can enter up to 10 IPs.

# OpenAPI definition

```json
{
  "externalDocs": {
    "description": "See documentation for Akamai's Edge Diagnostics API",
    "url": "https://techdocs.akamai.com/edge-diagnostics/reference"
  },
  "info": {
    "license": {
      "name": "Apache 2.0",
      "url": "https://www.apache.org/licenses/LICENSE-2.0.html"
    },
    "title": "IP network location",
    "version": "v1"
  },
  "openapi": "3.0.0",
  "paths": {
    "/locate-ip": {
      "post": {
        "description": "Returns geolocation data of an IP's network. You can enter up to 10 IPs.",
        "externalDocs": {
          "description": "See documentation for this operation in Akamai's Edge Diagnostics API",
          "url": "https://techdocs.akamai.com/edge-diagnostics/reference/post-locate-ip"
        },
        "operationId": "post-locate-ip",
        "parameters": [
          {
            "description": "For customers who manage more than one account, this [runs the operation from another account](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client). The Identity and Access Management API provides a [list of available account switch keys](https://techdocs.akamai.com/iam-api/reference/get-client-account-switch-keys).",
            "in": "query",
            "name": "accountSwitchKey",
            "required": false,
            "schema": {
              "example": "1-5C0YLB:1-8BYUX",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "ipAddresses": [
                  "192.0.2.9",
                  "192.0.2.0"
                ]
              },
              "schema": {
                "additionalProperties": false,
                "description": "Specifies IP addresses you want to [verify](https://techdocs.akamai.com/edge-diagnostics/reference/post-verify-edge-ip) or get the [location data](https://techdocs.akamai.com/edge-diagnostics/reference/post-locate-ip) for.",
                "properties": {
                  "ipAddresses": {
                    "description": "Up to 10 IP addresses you want to get the data for.",
                    "items": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "maxItems": 10,
                    "minItems": 0,
                    "type": "array"
                  }
                },
                "required": [
                  "ipAddresses"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "completedTime": "2022-02-01T17:40:32Z",
                  "createdBy": "hgildong",
                  "createdTime": "2022-02-01T17:40:29Z",
                  "executionStatus": "SUCCESS",
                  "request": {
                    "ipAddresses": [
                      "192.0.2.9",
                      "192.0.2.0"
                    ]
                  },
                  "results": [
                    {
                      "executionStatus": "SUCCESS",
                      "geoLocation": {
                        "asNumber": 13335,
                        "city": "SYDNEY",
                        "continent": "OC",
                        "countryCode": "AU",
                        "latitude": -33.88,
                        "longitude": 151.22,
                        "network": "mil",
                        "regionCode": "NSW",
                        "throughput": "low",
                        "timeZone": "GMT+10"
                      },
                      "ipAddress": "192.0.2.9"
                    },
                    {
                      "executionStatus": "SUCCESS",
                      "geoLocation": {
                        "city": "SEOUL",
                        "continent": "AS",
                        "countryCode": "KR",
                        "latitude": 37.57,
                        "longitude": 127,
                        "throughput": "low",
                        "timeZone": "GMT+9"
                      },
                      "ipAddress": "192.0.2.0"
                    }
                  ]
                },
                "schema": {
                  "additionalProperties": false,
                  "description": "Collects information about the IP's network location and details about the request.",
                  "properties": {
                    "completedTime": {
                      "description": "ISO 8601 timestamp indicating when the request was completed.",
                      "format": "date-time",
                      "type": "string"
                    },
                    "createdBy": {
                      "description": "Username who submitted the request.",
                      "minLength": 1,
                      "type": "string"
                    },
                    "createdTime": {
                      "description": "ISO 8601 timestamp indicating when the request was submitted.",
                      "format": "date-time",
                      "type": "string"
                    },
                    "executionStatus": {
                      "description": "Status of the request's execution. Possible values are: `SUCCESS`, `FAILURE`, or `PARTIAL_SUCCESS`. `PARTIAL_SUCCESS` is for bulk requests, if some of the requested IPs couldn't be processed.",
                      "enum": [
                        "SUCCESS",
                        "FAILURE",
                        "PARTIAL_SUCCESS"
                      ],
                      "type": "string"
                    },
                    "request": {
                      "additionalProperties": false,
                      "description": "IP addresses you want to get the data for.",
                      "properties": {
                        "ipAddresses": {
                          "description": "Up to 10 IP addresses you want to get the data for.",
                          "items": {
                            "minLength": 1,
                            "type": "string"
                          },
                          "maxItems": 10,
                          "minItems": 0,
                          "type": "array"
                        }
                      },
                      "required": [
                        "ipAddresses"
                      ],
                      "type": "object"
                    },
                    "results": {
                      "description": "Lists results for requested IPs.",
                      "items": {
                        "additionalProperties": false,
                        "description": "Collects information about the IP's network location and details about the request.",
                        "properties": {
                          "executionStatus": {
                            "description": "Status of the execution, either `SUCCESS` or `FAILURE`.",
                            "enum": [
                              "SUCCESS",
                              "FAILURE"
                            ],
                            "type": "string"
                          },
                          "geoLocation": {
                            "additionalProperties": false,
                            "description": "Specifies the IP's network location. To learn more about the results, check [Verify and Locate IP results](https://techdocs.akamai.com/edge-diagnostics/docs/verify-locate-ip#results).",
                            "properties": {
                              "areaCode": {
                                "description": "List of comma-delimited area codes the IP's network maps to.",
                                "minLength": 1,
                                "type": "string"
                              },
                              "asNumber": {
                                "description": "Autonomous System Number the IP's network maps to.",
                                "minimum": 0,
                                "type": "integer"
                              },
                              "city": {
                                "description": "Closest city within a 50-mile radius the IP's network maps to.",
                                "minLength": 1,
                                "type": "string"
                              },
                              "continent": {
                                "description": "ISO 3166 continent code the IP's network maps to.",
                                "minLength": 1,
                                "type": "string"
                              },
                              "countryCode": {
                                "description": "ISO 3166 country code the IP's network maps to.",
                                "minLength": 1,
                                "type": "string"
                              },
                              "county": {
                                "description": "Counties the IP's network maps to. Multiple values are separated with `+`.",
                                "minLength": 0,
                                "type": "string"
                              },
                              "dma": {
                                "description": "Designated Market Area code the IP's network maps to.",
                                "minimum": 0,
                                "type": "integer"
                              },
                              "fips": {
                                "description": "Federal Information Processing Standards code the IP's network maps to.",
                                "minLength": 1,
                                "type": "string"
                              },
                              "latitude": {
                                "description": "The latitude the IP's network maps to.",
                                "maximum": 90,
                                "minimum": -90,
                                "type": "number"
                              },
                              "longitude": {
                                "description": "The longitude the IP's network maps to.",
                                "maximum": 180,
                                "minimum": -180,
                                "type": "number"
                              },
                              "msa": {
                                "description": "Metropolitan Statistical Area code the IP's network maps to.",
                                "minimum": 0,
                                "type": "integer"
                              },
                              "network": {
                                "description": "Network the IP maps to. The value may be `null` when edge servers lack that data.",
                                "minLength": 1,
                                "nullable": true,
                                "type": "string"
                              },
                              "networkType": {
                                "description": "Network type the IP maps to. The value may be `null` when edge servers lack that data.",
                                "minLength": 1,
                                "nullable": true,
                                "type": "string"
                              },
                              "pmsa": {
                                "description": "Primary Metropolitan Statistical Area code the IP's network maps to.",
                                "minimum": 0,
                                "type": "integer"
                              },
                              "proxy": {
                                "description": "Proxy the IP maps to. The value may be `null` when the IP address is not a proxy.",
                                "minLength": 1,
                                "nullable": true,
                                "type": "string"
                              },
                              "regionCode": {
                                "description": "ISO 3166 region code the IP's network maps to.",
                                "minLength": 1,
                                "type": "string"
                              },
                              "throughput": {
                                "description": "Connection speed of the IP's network. Possible values are `low`, `medium`, `high`, or `vhigh`. IPv6 traffic is always `low`.",
                                "enum": [
                                  "low",
                                  "medium",
                                  "high",
                                  "vhigh"
                                ],
                                "type": "string"
                              },
                              "timeZone": {
                                "description": "Time zone used by the IP's network.",
                                "minLength": 1,
                                "type": "string"
                              },
                              "zipCode": {
                                "description": "Zip code the IP's network maps to. Multiple values are separated with `+` and ranges are separated with `-`.",
                                "minLength": 1,
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "ipAddress": {
                            "description": "IP address of the request.",
                            "minLength": 1,
                            "type": "string"
                          }
                        },
                        "required": [
                          "executionStatus",
                          "ipAddress",
                          "geoLocation"
                        ],
                        "type": "object"
                      },
                      "minItems": 0,
                      "type": "array"
                    }
                  },
                  "required": [
                    "request",
                    "createdBy",
                    "createdTime",
                    "executionStatus",
                    "results"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "The response provides location data for the IP's network.",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "The rate limit ceiling for this endpoint.",
                "example": 10,
                "schema": {
                  "type": "integer"
                }
              },
              "X-RateLimit-Remaining": {
                "description": "The number of requests left for the time window.",
                "example": 5,
                "schema": {
                  "type": "integer"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/problem+json": {
                "example": {
                  "detail": "Provide only one of these members, either `edgeLocationId` or `edgeIp`.",
                  "errors": [
                    {
                      "requestField": "edgeLocationId",
                      "title": "Conflicting values.",
                      "type": "field.conflict"
                    },
                    {
                      "requestField": "edgeIp",
                      "title": "Conflicting values.",
                      "type": "field.conflict"
                    }
                  ],
                  "status": 400,
                  "title": "Incorrect request.",
                  "type": "bad.request.error"
                },
                "schema": {
                  "additionalProperties": true,
                  "description": "Specifies the errors.",
                  "properties": {
                    "detail": {
                      "description": "Detail about the problem.",
                      "minLength": 1,
                      "type": "string"
                    },
                    "errors": {
                      "description": "[HTTP Problem Details](https://tools.ietf.org/html/rfc9457) objects indicating causes of failure.",
                      "items": {
                        "additionalProperties": true,
                        "description": "Specifies the error that occurred.",
                        "properties": {
                          "requestField": {
                            "description": "Request field name the error refers to. It can be a URL path or query parameter or any request payload field name.",
                            "type": "string"
                          },
                          "requestValues": {
                            "description": "Lists values corresponding to the `requestField`.",
                            "items": {
                              "anyOf": [
                                {
                                  "title": "String",
                                  "type": "string"
                                },
                                {
                                  "title": "Integer",
                                  "type": "integer"
                                },
                                {
                                  "title": "Object",
                                  "type": "object"
                                }
                              ]
                            },
                            "type": "array"
                          },
                          "title": {
                            "description": "Title of the error.",
                            "type": "string"
                          },
                          "type": {
                            "description": "Type of error.",
                            "type": "string"
                          }
                        },
                        "required": [
                          "type",
                          "title"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "requestField": {
                      "description": "Request field name the error refers to. It can be a path or query parameter of the URL or any request payload field name.",
                      "type": "string"
                    },
                    "requestValues": {
                      "description": "Lists values corresponding to the `requestField`.",
                      "items": {
                        "anyOf": [
                          {
                            "title": "String",
                            "type": "string"
                          },
                          {
                            "title": "Integer",
                            "type": "integer"
                          },
                          {
                            "title": "Object",
                            "type": "object"
                          }
                        ]
                      },
                      "type": "array"
                    },
                    "status": {
                      "description": "HTTP response code.",
                      "type": "integer"
                    },
                    "title": {
                      "description": "Title of the error.",
                      "type": "string"
                    },
                    "type": {
                      "description": "Type of error.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "type",
                    "title"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "[Validation error](https://techdocs.akamai.com/edge-diagnostics/reference/400)."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "example": {
                  "detail": "Inactive client token",
                  "instance": "https://akab-nedrvuylepskzabx-lv3dgceqqktx3i5b.luna.akamaiapis.net/edge-diagnostics/v1/grep/requests",
                  "status": 401,
                  "title": "Not authorized",
                  "type": "https://problems.luna.akamaiapis.net/-/pep-authn/deny"
                },
                "schema": {
                  "additionalProperties": true,
                  "description": "Specifies the errors.",
                  "properties": {
                    "detail": {
                      "description": "Detail about the problem.",
                      "minLength": 1,
                      "type": "string"
                    },
                    "errors": {
                      "description": "[HTTP Problem Details](https://tools.ietf.org/html/rfc9457) objects indicating causes of failure.",
                      "items": {
                        "additionalProperties": true,
                        "description": "Specifies the error that occurred.",
                        "properties": {
                          "requestField": {
                            "description": "Request field name the error refers to. It can be a URL path or query parameter or any request payload field name.",
                            "type": "string"
                          },
                          "requestValues": {
                            "description": "Lists values corresponding to the `requestField`.",
                            "items": {
                              "anyOf": [
                                {
                                  "title": "String",
                                  "type": "string"
                                },
                                {
                                  "title": "Integer",
                                  "type": "integer"
                                },
                                {
                                  "title": "Object",
                                  "type": "object"
                                }
                              ]
                            },
                            "type": "array"
                          },
                          "title": {
                            "description": "Title of the error.",
                            "type": "string"
                          },
                          "type": {
                            "description": "Type of error.",
                            "type": "string"
                          }
                        },
                        "required": [
                          "type",
                          "title"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "requestField": {
                      "description": "Request field name the error refers to. It can be a path or query parameter of the URL or any request payload field name.",
                      "type": "string"
                    },
                    "requestValues": {
                      "description": "Lists values corresponding to the `requestField`.",
                      "items": {
                        "anyOf": [
                          {
                            "title": "String",
                            "type": "string"
                          },
                          {
                            "title": "Integer",
                            "type": "integer"
                          },
                          {
                            "title": "Object",
                            "type": "object"
                          }
                        ]
                      },
                      "type": "array"
                    },
                    "status": {
                      "description": "HTTP response code.",
                      "type": "integer"
                    },
                    "title": {
                      "description": "Title of the error.",
                      "type": "string"
                    },
                    "type": {
                      "description": "Type of error.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "type",
                    "title"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "[Authorization error](https://techdocs.akamai.com/edge-diagnostics/reference/401)."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "example": {
                  "errors": [
                    {
                      "detail": "You don't have access to the requested URL. Contact your Admin to request access.",
                      "requestField": "url",
                      "title": "Field access denied.",
                      "type": "field.access.denied"
                    }
                  ],
                  "status": 403,
                  "title": "Forbidden request.",
                  "type": "forbidden.request.error"
                },
                "schema": {
                  "additionalProperties": true,
                  "description": "Specifies the errors.",
                  "properties": {
                    "detail": {
                      "description": "Detail about the problem.",
                      "minLength": 1,
                      "type": "string"
                    },
                    "errors": {
                      "description": "[HTTP Problem Details](https://tools.ietf.org/html/rfc9457) objects indicating causes of failure.",
                      "items": {
                        "additionalProperties": true,
                        "description": "Specifies the error that occurred.",
                        "properties": {
                          "requestField": {
                            "description": "Request field name the error refers to. It can be a URL path or query parameter or any request payload field name.",
                            "type": "string"
                          },
                          "requestValues": {
                            "description": "Lists values corresponding to the `requestField`.",
                            "items": {
                              "anyOf": [
                                {
                                  "title": "String",
                                  "type": "string"
                                },
                                {
                                  "title": "Integer",
                                  "type": "integer"
                                },
                                {
                                  "title": "Object",
                                  "type": "object"
                                }
                              ]
                            },
                            "type": "array"
                          },
                          "title": {
                            "description": "Title of the error.",
                            "type": "string"
                          },
                          "type": {
                            "description": "Type of error.",
                            "type": "string"
                          }
                        },
                        "required": [
                          "type",
                          "title"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "requestField": {
                      "description": "Request field name the error refers to. It can be a path or query parameter of the URL or any request payload field name.",
                      "type": "string"
                    },
                    "requestValues": {
                      "description": "Lists values corresponding to the `requestField`.",
                      "items": {
                        "anyOf": [
                          {
                            "title": "String",
                            "type": "string"
                          },
                          {
                            "title": "Integer",
                            "type": "integer"
                          },
                          {
                            "title": "Object",
                            "type": "object"
                          }
                        ]
                      },
                      "type": "array"
                    },
                    "status": {
                      "description": "HTTP response code.",
                      "type": "integer"
                    },
                    "title": {
                      "description": "Title of the error.",
                      "type": "string"
                    },
                    "type": {
                      "description": "Type of error.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "type",
                    "title"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "[Permission error](https://techdocs.akamai.com/edge-diagnostics/reference/403)."
          },
          "405": {
            "content": {
              "application/problem+json": {
                "example": {
                  "title": "Method not allowed",
                  "type": "method.not.allowed"
                },
                "schema": {
                  "additionalProperties": true,
                  "description": "Specifies the errors.",
                  "properties": {
                    "detail": {
                      "description": "Detail about the problem.",
                      "minLength": 1,
                      "type": "string"
                    },
                    "errors": {
                      "description": "[HTTP Problem Details](https://tools.ietf.org/html/rfc9457) objects indicating causes of failure.",
                      "items": {
                        "additionalProperties": true,
                        "description": "Specifies the error that occurred.",
                        "properties": {
                          "requestField": {
                            "description": "Request field name the error refers to. It can be a URL path or query parameter or any request payload field name.",
                            "type": "string"
                          },
                          "requestValues": {
                            "description": "Lists values corresponding to the `requestField`.",
                            "items": {
                              "anyOf": [
                                {
                                  "title": "String",
                                  "type": "string"
                                },
                                {
                                  "title": "Integer",
                                  "type": "integer"
                                },
                                {
                                  "title": "Object",
                                  "type": "object"
                                }
                              ]
                            },
                            "type": "array"
                          },
                          "title": {
                            "description": "Title of the error.",
                            "type": "string"
                          },
                          "type": {
                            "description": "Type of error.",
                            "type": "string"
                          }
                        },
                        "required": [
                          "type",
                          "title"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "requestField": {
                      "description": "Request field name the error refers to. It can be a path or query parameter of the URL or any request payload field name.",
                      "type": "string"
                    },
                    "requestValues": {
                      "description": "Lists values corresponding to the `requestField`.",
                      "items": {
                        "anyOf": [
                          {
                            "title": "String",
                            "type": "string"
                          },
                          {
                            "title": "Integer",
                            "type": "integer"
                          },
                          {
                            "title": "Object",
                            "type": "object"
                          }
                        ]
                      },
                      "type": "array"
                    },
                    "status": {
                      "description": "HTTP response code.",
                      "type": "integer"
                    },
                    "title": {
                      "description": "Title of the error.",
                      "type": "string"
                    },
                    "type": {
                      "description": "Type of error.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "type",
                    "title"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "[Method not allowed](https://techdocs.akamai.com/edge-diagnostics/reference/405)."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "example": {
                  "detail": "You have exceeded total number of requests configured for this API.",
                  "status": 429,
                  "title": "Too Many Requests",
                  "type": "requests.exceeded.error"
                },
                "schema": {
                  "additionalProperties": true,
                  "description": "Specifies the errors.",
                  "properties": {
                    "detail": {
                      "description": "Detail about the problem.",
                      "minLength": 1,
                      "type": "string"
                    },
                    "errors": {
                      "description": "[HTTP Problem Details](https://tools.ietf.org/html/rfc9457) objects indicating causes of failure.",
                      "items": {
                        "additionalProperties": true,
                        "description": "Specifies the error that occurred.",
                        "properties": {
                          "requestField": {
                            "description": "Request field name the error refers to. It can be a URL path or query parameter or any request payload field name.",
                            "type": "string"
                          },
                          "requestValues": {
                            "description": "Lists values corresponding to the `requestField`.",
                            "items": {
                              "anyOf": [
                                {
                                  "title": "String",
                                  "type": "string"
                                },
                                {
                                  "title": "Integer",
                                  "type": "integer"
                                },
                                {
                                  "title": "Object",
                                  "type": "object"
                                }
                              ]
                            },
                            "type": "array"
                          },
                          "title": {
                            "description": "Title of the error.",
                            "type": "string"
                          },
                          "type": {
                            "description": "Type of error.",
                            "type": "string"
                          }
                        },
                        "required": [
                          "type",
                          "title"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "requestField": {
                      "description": "Request field name the error refers to. It can be a path or query parameter of the URL or any request payload field name.",
                      "type": "string"
                    },
                    "requestValues": {
                      "description": "Lists values corresponding to the `requestField`.",
                      "items": {
                        "anyOf": [
                          {
                            "title": "String",
                            "type": "string"
                          },
                          {
                            "title": "Integer",
                            "type": "integer"
                          },
                          {
                            "title": "Object",
                            "type": "object"
                          }
                        ]
                      },
                      "type": "array"
                    },
                    "status": {
                      "description": "HTTP response code.",
                      "type": "integer"
                    },
                    "title": {
                      "description": "Title of the error.",
                      "type": "string"
                    },
                    "type": {
                      "description": "Type of error.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "type",
                    "title"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "[Too many requests](https://techdocs.akamai.com/edge-diagnostics/reference/429)."
          }
        },
        "summary": "Locate an IP network",
        "tags": [
          "IP network location"
        ]
      }
    }
  },
  "servers": [
    {
      "url": "https://{hostname}/edge-diagnostics/v1"
    }
  ],
  "tags": [
    {
      "description": "Get geolocation data for an IP network.",
      "name": "IP network location"
    }
  ],
  "x-readme": {
    "samples-languages": [
      "curl",
      "python",
      "node"
    ],
    "explorer-enabled": true,
    "proxy-enabled": true
  }
}
```