fcambus/telize logo

fcambus/telize

Free

High performance JSON IP and GeoIP REST API (IP Geolocation)

FreeFree tier
Type
Open Source

About fcambus/telize

Telize is a high-performance REST API built in Go that provides IP address geolocation information in JSON format. It uses the MaxMind GeoLite2 databases to perform lookups, caching the database in RAM for minimal overhead and fast responses. The API supports both JSON and JSONP callbacks, handles X-Forwarded-For headers for proxy environments, and has CORS enabled by default. It can return the visitor's IP address in plain text or JSON, and location data for any IP address. The project is open source and can be self-hosted, with a systemd unit file for easy boot-time startup.

Key Features

Built in Go for high performance and minimal resource usage
Returns IP geolocation data in JSON format
Supports both JSON and JSONP callbacks
Uses MaxMind GeoLite2 databases (City and ASN) for accurate location data
Caches GeoLite2 databases in RAM for fast queries
Handles X-Forwarded-For HTTP header for proxy environments
CORS enabled by default
Provides plain text, JSON, and location endpoints
Includes systemd unit file for boot-time startup
Free and open source

Pros & Cons

Pros
  • High performance with RAM-cached geolocation database
  • Simple REST API with multiple output formats (JSON, JSONP, plain text)
  • Open source and free to self-host
  • Uses reliable MaxMind GeoLite2 data
  • Easy to deploy with systemd support
  • CORS enabled for cross-origin requests
Cons
  • Requires self-hosting and server administration
  • No built-in authentication or rate limiting
  • Relies on free GeoLite2 databases which may be less accurate than paid MaxMind databases
  • Only supports IP geolocation; no additional IP intelligence features

Best For

Retrieving the public IP address of a visitorGeolocating IP addresses for analytics or content personalizationBuilding location-aware web applicationsAdding IP location data to logs or monitoring systemsSelf-hosted alternative to third-party IP geolocation APIs

FAQ

How can I get my own public IP address using Telize?
You can call the /ip endpoint (e.g., http://127.0.0.1:8080/ip) to receive your IP address in plain text, or /jsonip to receive it in JSON format.
Can I get location data for an IP address other than my own?
Yes, append an IP address to the /location endpoint, e.g., http://127.0.0.1:8080/location/46.19.37.108 returns location information for that IP.
Does Telize support JSONP?
Yes, you can add a callback parameter to any endpoint. For example: http://127.0.0.1:8080/jsonip?callback=getip.
How does Telize handle requests coming through a proxy?
Telize respects the X-Forwarded-For HTTP header and returns data for the first IP address in the list.
What databases does Telize use for geolocation?
Telize uses the free GeoLite2 City and GeoLite2 ASN databases from MaxMind.