myip APImyip.ms ↗
Access IP ownership, WHOIS data, hosting company rankings, and website-to-IP mappings via the myip.ms API. 5 endpoints for IP and domain intelligence.
What is the myip API?
The myip.ms API exposes 5 endpoints for IP and domain intelligence, covering WHOIS lookups, hosting company rankings, and website database browsing. The whois_lookup endpoint returns IP ownership, CIDR block, country, and a list of co-hosted websites for any queried IP. Additional endpoints let you identify your own caller IP details, browse a paginated global website database ranked by traffic, and retrieve structured profiles of individual hosting companies.
curl -X GET 'https://api.parse.bot/scraper/74b9db3b-4dcd-449b-aec3-f022ebda4bb3/whois_lookup?query=8.8.8.8' \ -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 myip-ms-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.
from parse_apis.myip_ms_api import MyIP, IpInfo, HostingCompany, HostingCompanyDetail, MyIpInfo, WebsiteSummary, HostingCompanyNotFound
myip = MyIP(api_key="YOUR_API_KEY")
# Look up WHOIS info for an IP address
info = myip.ipinfos.lookup(query="8.8.8.8")
print(info.ip_owner, info.ip_location, info.owner_cidr)
for site in info.websites_on_ip:
print(site.name, site.ip, site.hosting_company)
# Browse top hosting companies filtered by country
for company in myip.hostingcompanies.list(country_code="USA"):
print(company.rank, company.company_name, company.total_websites)
# Navigate from a company to its full details
detail = company.details()
print(detail.owner_name, detail.address, detail.phone)
# Fetch hosting company details directly by ID
cloudflare = myip.hostingcompanydetails.get(owner_id="4638")
print(cloudflare.owner_name, cloudflare.country, cloudflare.total_websites)
# Browse world websites database
for site in myip.websitesummaries.list(page=1):
print(site.rank, site.website, site.ip_address, site.country)
# Get caller's own IP information
my_info = myip.myipinfos.get()
print(my_info.ip_address, my_info.organisation, my_info.location)
Look up WHOIS and hosting information for an IP address or domain. Returns IP ownership, geographic location, CIDR block, and websites hosted on the same IP. The query can be either an IPv4 address or a domain name; domains are resolved to their IP before lookup.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | IP address or domain name to look up (e.g. '8.8.8.8' or 'google.com'). |
{
"type": "object",
"fields": {
"query": "string - the queried IP address or domain",
"ip_owner": "string - organization owning the IP",
"ip_address": "string - resolved IP address",
"owner_cidr": "string - CIDR block of the owner",
"ip_location": "string - country of the IP",
"websites_on_ip": "array of objects with name, ip, and hosting_company fields"
},
"sample": {
"data": {
"query": "8.8.8.8",
"ip_owner": "Google Inc",
"ip_address": "8.8.8.8",
"owner_cidr": "8.8.8.0 /24",
"ip_location": "USA",
"websites_on_ip": [
{
"ip": "8.8.8.8",
"name": "hdchina.org",
"hosting_company": "Google Inc"
}
]
},
"status": "success"
}
}About the myip API
IP WHOIS and Co-Hosting Data
The whois_lookup endpoint accepts any IPv4 address via the query parameter and returns the owning organization (ip_owner), the CIDR block (owner_cidr), the country of the IP (ip_location), and an array of websites_on_ip — each entry containing the site name, IP address, and hosting company. This makes it straightforward to map shared hosting environments or identify all sites sitting on a given IP.
Hosting Company Rankings and Profiles
The top_hosting_companies endpoint returns a ranked list of web hosting providers globally, with an optional country_code parameter to narrow results to a specific country. Once you have a provider's ID, hosting_company_details returns structured data including the company's name, address, country, and total website count. These two endpoints together let you build or enrich a hosting-provider database.
Website Database and Caller Identity
The world_websites_database endpoint paginates through a global index of websites ordered by rank, returning 50 records per page. Each record includes the site's rank, domain, IP address, hosting company, and country. The get_my_ip_info endpoint requires no input and returns the caller's IP address (both IPv4 and IPv6 if available), reverse DNS hostname, location, ISP/organisation name, proxy detection result, blacklist status, and the detected operating system and browser. This last endpoint is useful for building IP-detection utilities or testing egress IPs in CI pipelines.
The myip API is a managed, monitored endpoint for myip.ms — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when myip.ms 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 myip.ms 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?+
- Identify all websites co-hosted on a shared IP using the
websites_on_ipfield fromwhois_lookup. - Map IP address ownership and CIDR blocks for network security auditing.
- Build a hosting-provider comparison tool using ranked data from
top_hosting_companiesfiltered bycountry_code. - Enrich lead records with hosting company details via
hosting_company_detailsusing known owner IDs. - Detect proxy or blacklisted IPs at request time using
get_my_ip_infoin server-side middleware. - Browse global website rankings with hosting and country metadata via the paginated
world_websites_database. - Verify egress IP identity and reverse DNS for outbound infrastructure in automated test suites.
| 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 myip.ms have an official developer API?+
What does `whois_lookup` return beyond basic IP ownership?+
whois_lookup returns the IP's country via ip_location and an array of co-hosted sites in websites_on_ip. Each entry in that array includes the domain name, its IP address, and the hosting company — useful for identifying shared-hosting neighbors or mapping IP-to-domain relationships.Does the API return historical WHOIS records or ownership change history?+
whois_lookup endpoint returns current ownership data only — organization, CIDR, country, and co-hosted sites. There is no historical or diff view. You can fork this API on Parse and revise it to add a historical ownership endpoint if that data becomes needed.Can I look up a domain name directly instead of an IP address?+
whois_lookup endpoint accepts an IP address as the query parameter. Domain-name input with automatic resolution to an IP is not currently exposed. The API covers IP-level WHOIS and hosting data. You can fork it on Parse and revise to add a domain-to-IP resolution step before the WHOIS call.How does pagination work in `world_websites_database`?+
page parameter and returns 50 sites per page ordered by global rank. The response includes the current page number alongside the sites array. There is no explicit total-page-count field in the response, so iteration requires checking whether the returned array contains a full 50 records to determine if further pages exist.