Official SDKs

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.

Trusted by thousands of businesses
Fast JSON API responses
Real-time validation
Simple integration, SDKs & examples
Libraries

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

npm · ip-api-io
Tutorial
npm install ip-api-io

Python

PyPI · ip-api-io
Guide soon
pip install ip-api-io

Go

pkg.go.dev · github.com/ip-api-io/ipapi-go
Guide soon
go get github.com/ip-api-io/ipapi-go

PHP

Packagist · ip-api-io/ipapi-php
Guide soon
composer require ip-api-io/ipapi-php

Ruby

RubyGems · ip-api-io
Guide soon
gem install ip-api-io

Rust

crates.io · ip-api-io
Guide soon
cargo add ip-api-io

.NET

NuGet · IpApiIo
Guide soon
dotnet add package IpApiIo

Swift

Swift Package Manager · ipapi-swift
Guide soon
.package(url: "https://github.com/ip-api-io/ipapi-swift.git", from: "1.0.0")

Java

Maven Central · io.ip-api:ipapi
Guide soon
implementation("io.ip-api:ipapi:1.0.0")
One API surface

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
Consistent by design: typed errors (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.
FAQ

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 Support

Found 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