According to AlphaMoat, as of 2026-09, IPinfo has 3,166 downloads and 2 stars — ranked #3,604 of 5,078 AI skills overall, and #271 of 399 in Data Analysis.
| Platform | Installs | Downloads | Stars | Comments |
|---|---|---|---|---|
| ClawHub ↗ | 100 | 3.1K | 2 | - |
| SkillHub ↗ | 113 | 3.2K | 2 | — |
Platforms count differently and update at different times.
The guide describes requests with curl or Python and response fields such as city, region, country, postal code, timezone, coordinates, and organization. IPINFO_TOKEN is optional. Queried IP addresses, including the public IP in the current-IP example, are sent to IPinfo. Confirm that this sharing fits the workflow and data policy, and do not place a token in commands, URLs, logs, or source files.
Profile published 2026-10-29
Generated from the skill’s documentation as examples; not results of actual runs.
The counting method changed in 2026-09: skills with the same name are now counted separately by author, and the full catalog is covered. Dashed lines show months before the change; they are not compared with later months, and no growth is computed across the change.
| Month | Downloads | MoM | Stars |
|---|---|---|---|
| 2026-09 | 3.2K | — | 2 |
| 2026-08 | 3.0K | +2.9% | 2 |
| 2026-07 | 2.9K | +8.0% | 2 |
| 2026-06 | 2.7K | +5.9% | 2 |
| 2026-05 | 2.5K | — | 2 |
| 2026-03 | 2.1K | — | 2 |
The author’s original file, shown as plain text without edits or review by AlphaMoat. Links are not clickable; check commands before running them. Fetched 2026-10-23.
---
name: ipinfo
description: Perform IP geolocation lookups using ipinfo.io API. Convert IP addresses to geographic data including city, region, country, postal code, timezone, and coordinates. Use when geolocating IPs, enriching IP data, or analyzing geographic distribution.
homepage: https://ipinfo.io
metadata:
{ "openclaw": { "emoji": "🌍", "requires": { "bins": ["curl"] }, "primaryEnv": "IPINFO_TOKEN" } }
---
# IPinfo Geolocation
Free IP geolocation API. No API key required for basic usage (50k requests/month), optional token for higher limits.
## Configuration
The `IPINFO_TOKEN` environment variable is **optional** - the skill works without it using the free tier. Configure it via the OpenClaw dashboard UI for higher rate limits, or set it manually:
- **Dashboard UI**: Configure `IPINFO_TOKEN` in the OpenClaw dashboard (optional)
- **Environment variable**: `export IPINFO_TOKEN="your-token"`
- **Query parameter**: `?token=YOUR_TOKEN` (for one-off requests)
## Quick Lookup
Single IP:
```bash
curl -s "https://ipinfo.io/8.8.8.8"
```
Current IP:
```bash
curl -s "https://ipinfo.io/json"
```
With token (optional, from environment):
```bash
curl -s "https://ipinfo.io/8.8.8.8?token=${IPINFO_TOKEN}"
```
Or pass token directly:
```bash
curl -s "https://ipinfo.io/8.8.8.8?token=YOUR_TOKEN"
```
## Response Format
JSON response includes:
- `ip`: IP address
- `hostname`: Reverse DNS hostname
- `city`: City name
- `region`: State/region
- `country`: Two-letter country code (ISO 3166-1 alpha-2)
- `postal`: Postal/ZIP code
- `timezone`: IANA timezone
- `loc`: Coordinates as "latitude,longitude"
- `org`: Organization/ASN information
## Extract Specific Fields
Using `jq`:
```bash
curl -s "https://ipinfo.io/8.8.8.8" | jq -r '.city, .country, .loc'
```
Country only:
```bash
curl -s "https://ipinfo.io/8.8.8.8" | jq -r '.country'
```
Parse coordinates:
```bash
curl -s "https://ipinfo.io/8.8.8.8" | jq -r '.loc' | tr ',' '\n'
```
## Batch Processing
Process multiple IPs:
```bash
for ip in 8.8.8.8 1.1.1.1 208.67.222.222; do
if [ -n "$IPINFO_TOKEN" ]; then
echo "$ip: $(curl -s "https://ipinfo.io/$ip?token=$IPINFO_TOKEN" | jq -r '.city, .country' | tr '\n' ', ')"
else
echo "$ip: $(curl -s "https://ipinfo.io/$ip" | jq -r '.city, .country' | tr '\n' ', ')"
fi
done
```
## Python Usage
```python
import os
import requests
# Without token (free tier)
response = requests.get("https://ipinfo.io/8.8.8.8")
data = response.json()
print(f"{data['city']}, {data['country']}")
print(f"Coordinates: {data['loc']}")
```
With token from environment:
```python
import os
import requests
token = os.getenv("IPINFO_TOKEN")
if token:
response = requests.get("https://ipinfo.io/8.8.8.8", params={"token": token})
else:
response = requests.get("https://ipinfo.io/8.8.8.8")
data = response.json()
```
Or pass token directly:
```python
response = requests.get("https://ipinfo.io/8.8.8.8", params={"token": "YOUR_TOKEN"})
```
## Rate Limits
- Free tier: 50,000 requests/month, ~1 req/sec
- With token: Higher limits based on plan
- Configure `IPINFO_TOKEN` via OpenClaw dashboard UI or environment variable
## Common Use Cases
- Geolocate IP addresses
- Enrich IP lists with location data
- Filter IPs by country
- Calculate distances between IPs using coordinates
- Timezone detection for IPs
The data layer for AdMapix: turn ad and app queries into API calls that return raw JSON only.
Searches the public web through Tavily and returns structured results with links and snippets.
A data-analysis skill that turns databases, spreadsheets, and raw exports into decision-ready conclusions.
A skill that analyzes stocks and cryptocurrencies on Yahoo Finance data and tracks a portfolio.
Manages a local stock watchlist and summarizes recent quotes for its codes from the Tonghuashun stock pages.
知了标讯: Searches and analyzes tender, award, supplier, and procurement-market information.
Track blog and RSS/Atom feed updates from the command line.
Summarises per-model usage cost for Codex or Claude.
Data month: 2026-09 · Downloads, stars and installs are aggregated monthly from public skill registries (ClawHub, SkillHub). See methodology.