Skip to content

Documentation: Add IPinfoClientCore and IPinfoClientPlus to README #39

@unwobbling

Description

@unwobbling

Title

Documentation: Add IPinfoClientCore and IPinfoClientPlus to README

Description

The SDK seems to include fully functional IPinfoClientCore and IPinfoClientPlus clients that are not documented in the README. This caused confusion when trying to access Core tier boolean fields (is_hosting, is_anonymous, etc.).

Current State

The README documents:

  • IPinfoClientIPResponse
  • IPinfoClientLiteIPResponseLite

But the SDK also includes (undocumented):

  • IPinfoClientCoreIPResponseCore
  • IPinfoClientPlusIPResponsePlus

The Problem

As a Core tier subscriber, I was using IPinfoClient and couldn't access the boolean fields (IsHosting, IsAnonymous, IsAnycast, IsMobile, IsSatellite) even though the API returns them.

After digging into the source code, I discovered IPinfoClientCore exists and works perfectly:

// This works - but isn't documented
IPinfoClientCore client = new IPinfoClientCore.Builder()
    .AccessToken(token)
    .Build();

IPResponseCore response = client.IPApi.GetDetails("8.8.8.8");

Console.WriteLine(response.IsHosting);    // ✅ works
Console.WriteLine(response.IsAnonymous);  // ✅ works
Console.WriteLine(response.Geo.City);     // ✅ works

Suggestion

Add a section to the README documenting:

  1. IPinfoClientCore for Core tier subscribers

    • Endpoint: api.ipinfo.io/lookup/{ip}
    • Response model: IPResponseCore
    • Available fields including boolean flags
  2. IPinfoClientPlus for Plus tier subscribers

    • Endpoint: api.ipinfo.io/lookup/{ip}
    • Response model: IPResponsePlus
    • Additional fields like Abuse, Company, Privacy, Domains
  3. Client selection guide - which client to use based on subscription tier

Impact

Without this documentation, Core/Plus tier customers may:

  • Think the SDK doesn't support their tier's features
  • Attempt workarounds like custom HTTP clients
  • Miss out on features they're paying for
  • Waste a lot of time

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions