A Dart library to query IP addresses using the ipquery.io API. This library allows you to easily retrieve detailed information about IP addresses, including ISP data, geolocation details, and risk analysis.
- Query detailed information for a specific IP address.
- Fetch your own public IP address.
- Perform bulk queries for multiple IP addresses.
Install the package using pub:
dart pub add dart_ipquery
import 'package:dart_ipquery/dart_ipquery.dart';
Fetch information about a specific IP address:
import 'package:dart_ipquery/dart_ipquery.dart';
Future<void> main() async {
final client = IpQueryCient();
final ipInfo = await client.queryIp("8.8.8.8");
print(ipInfo);
}
IpInfo{ip: 8.8.8.8, ispInfo: null, location: Location{country: United States, countryCode: US, state: California, city: Mountain View, zipCode: 94043, lat: null, lon: null, timezone: America/Los_Angeles, localTime: 2025-03-19T19:11:46}, risk: Risk{isMobile: false, isVpn: false, isTor: false, isProxy: false, isDatacenter: true, riskScore: 0}}
Retrieve your machine's public IP address:
import 'package:dart_ipquery/dart_ipquery.dart';
Future<void> main() async {
final client = IpQueryCient();
final ip = await client.queryOwnIp();
print(ip);
}
203.0.113.45
Fetch details for multiple IP addresses in a single request:
import 'package:dart_ipquery/dart_ipquery.dart';
Future<void> main() async {
final ips = ["8.8.8.8", "1.1.1.1"];
final client = IpQueryCient();
final results = await client.queryBulk(ips);
for (final ipInfo in results) {
print(ipInfo);
}
}
IPInfo{ip: 8.8.8.8, ...}
IPInfo{ip: 1.1.1.1, ...}
If you want to run tests to verify functionality:
dart test .
This project is licensed under the MIT License. See the LICENSE file for more information.