ip-api.io SDKs & Client Libraries
Official, open-source client libraries for the ip-api.io API — IP geolocation, email validation, and fraud detection in nine languages. Install one package, get typed responses, batch helpers, and built-in error handling. The same method names work everywhere, so learning one SDK means you know them all.
Pick your language
Every SDK is published to its language's official registry under
github.com/ip-api-io, versioned at 1.0.0, and MIT licensed.
Grab the install command, drop in your free API key, and you're making calls in
minutes.
JavaScript / TypeScript
ip-api-ionpm install ip-api-io
Go
github.com/ip-api-io/ipapi-gogo get github.com/ip-api-io/ipapi-go
Swift
ipapi-swift.package(url: "https://github.com/ip-api-io/ipapi-swift.git", from: "1.0.0")
Java
io.ip-api:ipapiimplementation("io.ip-api:ipapi:1.0.0")
The same methods in every language
Each SDK wraps the full ip-api.io API behind a single IpApiClient object.
Method names are re-cased to each language's conventions, but the capabilities — and
the JSON responses — are identical everywhere.
| Capability | Methods | What you get |
|---|---|---|
| IP geolocation | lookup, lookupBatch |
Country, city, lat/lon, timezone & security flags for one IP or up to 100 at once |
| VPN, proxy & Tor | lookup, torCheck |
Per-IP suspicious_factors — VPN, proxy, Tor, datacenter, spam, crawler, threat |
| Fraud risk scoring | riskScore, emailRiskScore, ipReputation |
A 0–1 risk score and reputation signals for IPs and emails |
| Email validation | emailInfo, validateEmail, validateEmailBatch |
Syntax, MX, disposable, role, SMTP deliverability & Gravatar checks |
| ASN & DNS | asn, whois, reverseDns, forwardDns, mxRecords |
Network ownership, WHOIS records, and forward/reverse DNS resolution |
| Domain age | domainAge, domainAgeBatch |
Registration date and age in days — a strong fraud signal |
| Account & usage | rateLimit, usageSummary |
Remaining quota, plan limits, and monthly usage aggregates |
RateLimitError,
AuthenticationError, ServerError), client-side batch limits
(≤ 100), and no automatic retries are part of every SDK — see each library's README for
language-specific details.
Frequently asked questions
Common questions about the official ip-api.io client libraries.
Are the ip-api.io SDKs official?
Yes. Every client library here is maintained by the ip-api.io team and published under the github.com/ip-api-io organization to each language's official registry — npm, PyPI, RubyGems, crates.io, Packagist, NuGet, pkg.go.dev, Maven Central, and Swift Package Manager. They are not affiliated with ip-api.com or ipapi.com.
Do I need an SDK to use the ip-api.io API?
No. The ip-api.io API is a plain JSON HTTP API — you can call it from any language with an HTTP client. The SDKs are optional convenience wrappers that add typed responses, a single client object, built-in error classes, and batch validation so you write less boilerplate. Prefer raw HTTP? See the JavaScript and Python fetch tutorials.
Are the SDKs free to use?
Yes. Every SDK is open source under the MIT license and free to install. You only need a free ip-api.io API key to make requests — the API rejects keyless requests. Your request volume is governed by your ip-api.io plan, not the SDK.
Do all the SDKs expose the same methods?
Yes. Every SDK implements the same surface — lookup, batch lookup, email validation, risk scoring, VPN/proxy/Tor detection, ASN and DNS lookups, domain age, and usage — re-cased to each language's conventions (camelCase in JavaScript, snake_case in Python and Ruby, PascalCase in Go and C#). Learn one and you know them all.
Which SDK should I choose?
Use the SDK for the language your backend is written in. All calls should run server-side so your API key stays private — never ship the key to a browser or mobile client. If your language isn't listed, the API works with any HTTP client and the responses are identical to what the SDKs return.
Need support?
Questions about a specific SDK, a response field, or how to integrate ip-api.io into your stack? We're happy to help you ship faster.
Contact SupportFound a bug?
Every SDK is open source. Open an issue or pull request on the library's GitHub repository and we'll take a look.
Browse on GitHub