GET country.is HTTP 200122 ms2.4 KB$0.000028 captured Aug 7, 2026
country.is, as data
One API turns any country.is page into markdown, structured JSON, its link graph or a screenshot, and crawls the whole site the same way. The panel shows the real response we captured.
- Render mode
- Plain HTTP, no browser needed
- Response
- HTTP 200 in 122 ms
- Page size
- 2.4 KB of markdown, 45 lines
- Fields
- Title, Content, Date, Source and 2 more
- Captured
- Aug 7, 2026
Free balance on signup, no card. This country.is page cost $0.000028 to fetch.
# CountryFree IP-to-country geolocation APICountry maps IP addresses to countries. It can also return city, continent, subdivision, postal code, coordinates, and ASN.api.country.is is free and requires no key. The app is open source and can be self-hosted.## UsageGET / Returns the country of the caller's IP.GET /{ip} Returns the country of a given IPv4 or IPv6 address.`curl https://api.country.is/77.1.2.3`POST / Look up multiple IPs in one request. Send a JSON array of up to 100 addresses.`curl https://api.country.is/ -d ‘["77.1.2.3","93.184.216.34"]’`?fields= Add extra fields to any lookup: `city`, `continent`, `subdivision`, `postal`, `location`, `asn`.`curl https://api.country.is/77.1.2.3?fields=city,continent,subdivision,postal,location,asn`GET /info Returns metadata, including when the data was last updated. Data refreshes every 24 hours.`curl https://api.country.is/info`A machine-readable OpenAPI spec is available.## ErrorsThe API returns standard HTTP status codes.`400` Invalid IP address or malformed request. `404` No data found for the given IP. `429` Rate limit exceeded. Try again shortly. ## Self-hostingRun your own instance with Docker.-e ACCOUNT_ID=YOUR_MAXMIND_ACCOUNT_ID \-e LICENSE_KEY=YOUR_MAXMIND_LICENSE_KEY \Get your credentials from MaxMind. For high-volume server-side use, consider self-hosting or querying MaxMind data directly.## Quick answersIs the API free for commercial use? Yes. Are there rate limits? No quotas. Infrastructure rate-limits to 10 requests per second per IP to prevent abuse. Where does the data come from? MaxMind GeoLite2, updated daily. Cloudflare geolocation is used when available. Do you log requests? No. Will the API keep running? Country has been running since 2015. For critical applications, self-host for full control. What Spider does on country.is
Same key, five endpoints. The numbers under a cell were measured on this page.
Page to markdown
Clean text for RAG and LLM context, boilerplate removed. The lane that runs without a key.
122 ms · $0.000028Page to JSON
Spider reads the page and names the fields. Pass your own schema when you need exact keys.
Rendered capture
Real Chromium, full-page PNG. The same call also returns the rendered HTML.
The call behind the panel
This request produced the response above. Paste it with your key and you get the same bytes.
curl -X POST https://api.spider.cloud/scrape \
-H "Authorization: Bearer $SPIDER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://country.is/", "return_format": "markdown"}' from spider import Spider
app = Spider()
params = {"return_format": "markdown"}
page = app.scrape_url("https://country.is/", params=params)
print(page[0]["content"]) import { Spider } from "@spider-cloud/spider-client";
const app = new Spider();
const [page] = await app.scrapeUrl("https://country.is/", {
return_format: "markdown",
});
console.log(page.content); What country.is costs
Multiplied from the measured 2.4 KB page. Estimates round to the cent.
1 GB of transfer costs $1, plus $0.001 per CPU minute, and failed requests cost $0. Crawling daily? The Unlimited plan is a flat monthly rate.
Point this at the rest of country.is.
The capture above took 122 ms and cost $0.000028. The same call takes any URL on country.is.