WhatIsMyIP APIwhatismyip.com ↗
Retrieve your public IPv4 address plus ISP, city, region, coordinates, ASN, and timezone via the WhatIsMyIP.com API. Two endpoints, no inputs required.
What is the WhatIsMyIP API?
The WhatIsMyIP.com API exposes two endpoints that return the public IPv4 address and geolocation details of the requesting connection. The get_my_ip endpoint returns just the IP address, while get_my_ip_info returns 10 fields including ASN, ISP name, city, region, postal code, latitude, longitude, and UTC timezone offset — useful for diagnosing how a connection appears to external services.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/bea20acb-8855-42e1-b494-fb8d3b1eb80b/get_my_ip' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace whatismyip-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: WhatIsMyIP SDK — retrieve your public IP and geolocation."""
from parse_apis.whatismyip_api import WhatIsMyIP, Ip, IpInfo, UpstreamError
client = WhatIsMyIP()
# Quick IP lookup — just the address, no geolocation overhead.
my_ip = client.ips.get()
print(my_ip.ip)
# Fetch full geolocation details for the current connection.
try:
info = client.ipinfos.get()
print(info.ip, info.city, info.region, info.country_name)
print(info.latitude, info.longitude, info.time_zone)
except UpstreamError as exc:
print(f"upstream error: {exc}")
print("exercised: ips.get (IP only) / ipinfos.get (geolocation lookup)")
Returns the public IP address of the requesting connection as seen by external servers. No input parameters required — the IP is determined by the outbound connection.
No input parameters required.
{
"type": "object",
"fields": {
"ip": "string, the public IPv4 address"
},
"sample": {
"data": {
"ip": "136.0.232.145"
},
"status": "success"
}
}About the WhatIsMyIP API
Endpoints Overview
The API has two endpoints, both requiring no input parameters. get_my_ip returns a single field — ip — containing the public IPv4 address as seen by external servers. This is useful for quick connectivity checks or IP logging without the overhead of a full geolocation lookup.
Full IP Info Endpoint
get_my_ip_info returns the same ip field plus nine additional fields: asn (autonomous system number), isp (provider name), city, region, regionCode, postalCode, latitude, longitude, and timeZone (expressed as a UTC offset string). All fields are derived from the same requesting connection — there are no inputs to supply and no target IP to specify.
Practical Behavior
Because both endpoints reflect the IP of the connection making the request, the returned data changes depending on where the API call originates. Calling from a datacenter, a residential network, or a VPN exit node will produce different isp, asn, and geolocation values. This makes the API well-suited for verifying proxy or VPN identity, checking geolocation consistency, and auditing what metadata a given outbound connection exposes.
Coverage Notes
The API covers IPv4 addresses. The geolocation data resolves to city-level precision and includes both coordinates (latitude, longitude) and a postal code where available. Timezone is returned as a UTC offset rather than an IANA timezone name.
The WhatIsMyIP API is a managed, monitored endpoint for whatismyip.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when whatismyip.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official whatismyip.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Verify the exit IP and geolocation of a VPN or proxy connection using
ispandcityfields. - Audit what ASN and ISP name an outbound server connection exposes to external services.
- Check the
postalCodeandregionCodereturned for a connection to validate geotargeting behavior. - Log the public
ipof a client connection for network diagnostics or access records. - Confirm the UTC offset in
timeZonealigns with the expected geographic region of a server. - Cross-reference
latitudeandlongitudeagainst expected datacenter coordinates to detect routing anomalies. - Test how different cloud or residential IP ranges are classified by
ispandasn.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does WhatIsMyIP.com have an official developer API?+
What does `get_my_ip_info` return beyond just the IP address?+
get_my_ip_info returns 10 fields: ip, asn, isp, city, region, regionCode, postalCode, latitude, longitude, and timeZone. The timeZone field is a UTC offset string, not an IANA zone name. All fields reflect the connection making the API request — no target IP is accepted as input.Can I look up geolocation data for an arbitrary IP address rather than my own connection?+
get_my_ip and get_my_ip_info — reflect the IP of the requesting connection only; neither accepts an IP address as an input parameter. You can fork this API on Parse and revise it to add an endpoint that accepts a target IP and returns its geolocation data.Does the API return IPv6 addresses?+
ip field returns an IPv4 address. IPv6 address detection is not currently covered by either endpoint. You can fork this API on Parse and revise it to add IPv6 support if your environment routes over IPv6.