Developer tools, integrate our name checking technology in your application

Download and use one of our SDK and CLI to benefit from some of Namsor's most popular features. Analyze personal names and discover their gender, their cultural origin or ethnicity or their diaspora.

Namsor's SDK software development kits and CLI command line tools

Our software development kits and command line tools are available in Java, Python, JavaScript and Golang. Easily integrate name analysis in your application's data flow.

Java SDK

NamSor API v2

  • API version: 2.0.26
    • Build date: 2023-06-19T20:11:11.018+02:00[Europe/Berlin]

NamSor API v2 : enpoints to process personal names (gender, cultural origin or ethnicity) in all alphabets or languages. By default, enpoints use 1 unit per name (ex. Gender), but Ethnicity classification uses 10 to 20 units per name depending on taxonomy. Use GET methods for small tests, but prefer POST methods for higher throughput (batch processing of up to 100 names at a time). Need something you can't find here? We have many more features coming soon. Let us know, we'll do our best to add it!

For more information, please visit

Automatically generated by the OpenAPI Generator


Building the API client library requires:

  1. Java 1.7+
  2. Maven/Gradle


To install the API client library to your local Maven repository, simply execute:

mvn clean install

To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:

mvn clean deploy

Refer to the OSSRH Guide for more information.

Maven users

Add this dependency to your project's POM:


Gradle users

Add this dependency to your project's build file:

compile "com.namsor:namsor-sdk2:2.0.26"


At first generate the JAR by executing:

mvn clean package

Then manually install the following JARs:

  • target/namsor-sdk2-2.0.26.jar
  • target/lib/*.jar

Getting Started

Please follow the installation instruction and execute the following Java code:

import com.namsor.sdk2.invoke.*;
import com.namsor.sdk2.invoke.auth.*;
import com.namsor.sdk2.model.*;
import com.namsor.sdk2.api.AdminApi;
import com.namsor.sdk2.invoke.ApiClient;
import com.namsor.sdk2.invoke.ApiException;
import com.namsor.sdk2.invoke.Configuration;
import com.namsor.sdk2.invoke.auth.*;
import com.namsor.sdk2.api.PersonalApi;
import java.util.*;

public class AdminApiExample {

    public static void main(String[] args) {
      ApiClient defaultClient = Configuration.getDefaultApiClient();
      // Configure API key authorization: api_key
      ApiKeyAuth api_key = (ApiKeyAuth) defaultClient.getAuthentication("api_key");
      api_key.setApiKey("YOUR API KEY");
      // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
      PersonalApi apiInstance = new PersonalApi();
      String firstName = "John"; // String | 
      String lastName = "Smith"; // String | 
      String countryIso2 = "US"; // String | 
      try {
          FirstLastNameGenderedOut result = apiInstance.genderGeo(firstName, lastName, countryIso2);
      } catch (ApiException e) {
          System.err.println("Exception when calling PersonalApi#genderGeo");

Documentation for API Endpoints

All URIs are relative to API Documentation

Documentation for Authorization

Authentication schemes defined for the API:


  • Type: API key
  • API key parameter name: X-API-KEY
  • Location: HTTP header


It's recommended to create an instance of ApiClient per thread in a multithreaded environment to avoid any potential issues.

Extra notes

Author: Namsor Java SDK on GithHub