apiip / apiip.net
The official PHP library for apiip.net that allowing customers to automate IP address validation and geolocation lookup in websites, applications and back-office system. Visit our API docs at https://apiip.net/documentation
Installs: 11 645
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 0
pkg:composer/apiip/apiip.net
Requires
- php: >=7.4
- ext-json: *
- guzzlehttp/guzzle: ^6.3||^7.0
README
This is the official PHP client library for the apiip.net IP address geolocation API, allowing you to lookup your own IP address, or get any of the details for an IP.
Find geolocation data from IP addresses (e.g. city, country, lat/long) using the apiip.net API.
apiip.net provides 1.000 free requests per month. For higher plans, check out the website
Installation
You need to get your API key from here: https://apiip.net/get-started and you'll get 1.000 free requests/month
Install the package with:
composer require apiip/apiip.net
Usage
The package needs to be configured with your account's API key, which is available in the apiip.net Dashboard
use ApiipClient\Apiip; $access_key = 'YOUR_ACCESS_KEY'; $client = new Apiip($access_key); $details = $client->getLocation(); $details['city']; Belgrade
HTTPS Encryption
By default, the SSL/TLS is turned on, if you want to disable it just pass the options parameter
Example
use ApiipClient\Apiip; $access_key = 'YOUR_ACCESS_KEY'; $client = new Apiip($access_key, ['ssl' => false]);
Configuration
Call getLocation method with config object
use ApiipClient\Apiip; $access_key = 'YOUR_ACCESS_KEY'; $client = new Apiip($access_key); $details = $client->getLocation([ 'ip' => $ip_address, // 67.250.186.196, 188.79.34.191, 60.138.7.24 - for bulk request 'output' => 'xml', 'fields' => 'city,country', 'languages' => 'es' ]);
| Option | Type | Description | Default |
|---|---|---|---|
ip |
string |
Optional. Get location about the specify IP or multiple IPs. | Requester IP |
output |
string |
Optional. Specify response format, XML or JSON. | JSON |
fields |
string |
Optional. Specify response fields. | All fields |
languages |
string |
Optional. Specify response language. | EN |
Example complete response
{ "ip": "67.250.186.196", "continentCode": "NA", "continentName": "North America", "countryCode": "US", "countryName": "United States", "countryNameNative": "United States", "city": "New York", "postalCode": "10001", "latitude": 40.8271, "longitude": -73.9359, "capital": "Washington D.C.", "phoneCode": "1", "countryFlagEmoj": "🇺🇸", "countryFlagEmojUnicode": "U+1F1FA U+1F1F8", "isEu": false, "borders": [ "CAN", "MEX" ], "topLevelDomains": [ ".us" ], "languages": { "en": { "code": "en", "name": "English", "native": "English" } }, "currency": { "code": "USD", "name": "US Dollar", "symbol": "$", "number": "840", "rates": { "EURUSD": 1.11 } }, "timeZone": { "id": "America/New_York", "currentTime": "10/26/2021, 2:54:10 PM", "code": "EDT", "timeZoneName": "EDT", "utcOffset": -14400 }, "userAgent": { "isMobile": false, "isiPod": false, "isTablet": false, "isDesktop": true, "isSmartTV": false, "isRaspberry": false, "isBot": false, "browser": "Chrome", "browserVersion": "100.0.4896.127", "operatingSystem": "Windows 10.0", "platform": "Microsoft Windows", "source": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36" }, "connection": { "asn": 12271, "isp": "Charter Communications Inc" }, "security": { "isProxy": false, "isBogon": false, "isTorExitNode": false, "isCloud": false, "isHosting": false, "isSpamhaus": false, "suggestion": "allow", "network": "67.250.176.0/20" } }