REST Countries

Frequently asked questions

If your question isn't here, head over to support and we'll usually reply within one business day.

How is REST Countries different from free and open source alternatives?

Free options are great for prototyping but tend to have unpredictable uptime, no SLA, slower latency under load, and stale data because nobody's paid to keep it current. REST Countries commits: 99.95%+ uptime with service credits if we miss, <150ms typical response time, with fields like population and current leaders synced every 4 hours against ISO and UN sources, and real human support.

How do I authenticate API requests?

Pass your key in the Authorization header as Bearer rc_live_…. You can also pass it as a api-key query parameter, but the header is preferred so the key never lands in server logs or browser history.

How fresh is the data?

Static fields (codes, capitals, languages, borders) are reviewed against ISO and UN sources weekly. Dynamic fields (population, current leaders, calling codes when they change) refresh every 4 hours. Currency exchange rates refresh hourly on paid plans, and daily otherwise.

What's the typical API response time?

Average response time is ~140ms, most of which is simply the HTTP roundtrip plus JSON decode time on your end. Business plans can opt into a dedicated EU-region endpoint for lower latency from European clients.

What happens when I hit my monthly limit?

Limits are soft. We send email alerts as you approach your cap, and requests continue during a short grace period after you cross it. If the grace period elapses without an upgrade or monthly reset, requests return HTTP 403 until your cycle resets or you upgrade. Existing API keys do not need to be re-issued.

What's your uptime SLA, and what happens if you miss it?

Personal targets 99.9%, Professional 99.95%, Startup 99.99%, Business 99.995% monthly uptime. If we miss the target on a paid plan, prorated service credits (10% / 25% / 50% depending on the size of the miss) are applied automatically to your next invoice. No support ticket required. The SLA covers the API endpoints only; auxiliary surfaces (marketing site, dashboard, billing pages) are excluded.

Do you support webhooks when country or currency data changes?

Yes, on Business plans. When a tracked field changes (e.g., population updates, a change in leaders, new exchange rates are published), REST Countries sends a signed POST to the endpoint(s) you've registered with details of what changed and the country or currency it affected. Useful for cache invalidation and audit trails. Set up endpoints from the Webhooks tab in your dashboard.

Can I cancel my subscription any time?

Yes. Open Plans and click cancel. You're retain access to your paid plan until the end of your current billing period.

Where do I change my name, log-in email, password, or timezone?

All of those live on Account. Email changes require your current password and a confirmation link sent to the new address; your old address is also notified for security.

Where do I change my account name or billing email?

Account. The account name may appear on invoices, and the billing email receives invoices and billing notifications (it's separate from your log-in email).

Where do I change my plan, update my payment method, or view past invoices?

Billing. From there you can change your plan, switch between monthly and yearly billing, update your card, retry a failed payment, and download receipts for any past invoice.

How do I delete my account?

Open Account and use the Delete account button in the Danger zone. Deletion permanently revokes every API key and removes all usage history, and can't be undone. Cancel your plan first from Billing if you only want to stop being charged.

Are there discounts for students, educators, or non-profits?

Yes: 20% off any paid plan if you're a student, faculty member, accredited educational institution, or registered non-profit using REST Countries for coursework, research, or mission-related work (not for commercial production traffic).

To claim, contact support from your .edu address (or attach proof: enrollment letter, faculty ID, or non-profit registration). We usually reply within one business day and apply the discount as a recurring credit on your next invoice.

Why is it called REST Countries?

Because it's a plain REST API: every country is a resource you fetch over HTTPS with an ordinary GET request, no SDK, login, or session to manage. You send a URL, you get predictable JSON back, and the name simply describes that RESTful approach to country data. We've since expanded to other APIs, currently including currencies, all built on that same approach.

Do you offer SDKs?

The API is plain REST + JSON, so any HTTP client works. Official thin SDKs for Node, Python, and Go are in early access. Email us to be added to the beta.

Where is my data hosted?

AWS, in us-west-2 by default. Business plans can opt into a dedicated EU-region endpoint; your account, keys, and request logs are stored in eu-west-1 instead. Contact support after upgrading and we'll move your account.

Can I download the entire dataset for offline use?

No. Our APIs are the only delivery method, which keeps dynamic fields current and ensures customers always read the latest corrections. The same goes for currency data, primarily because it's constantly updating: an offline copy would be stale almost immediately. The Terms allow response caching for up to 3 days for performance, but bulk downloads, mirror services, and offline copies aren't permitted. If your use case depends on a static export, contact support; we occasionally license snapshots for accredited academic research or enterprise integrations.

Can I get historical data (e.g. population in 2010)?

Not yet. Today the API serves the current value for each dynamic field. Historical timeseries is on the roadmap. Let us know if it's a blocker for you.

How do I revoke a leaked API key?

Open the API Keys page, click Revoke next to the affected key, then create a replacement. Revocation is immediate.

How do I report a security issue?

Contact support with details. We respond within 24 hours and run a coordinated disclosure process.