Estimate the gender of a first name estimates the gender of a first name. Use the API for analytics, ad targeting, user segmenting etc. It utilizes big datasets of information, from user profiles across major social networks and exposes this data through its API. The response includes a certainty factor as well.

To achieve more qualified guesses, it is also possible to use localization filters to retreive a guess based only on data for a certain country or language. It's recommended to always use a filter if you have the needed data, since naming can rely heavily on demographics.

The API is free, but limited at 1000 names/day. If you need more requests, you should check out

All requests are sent to the following base URL using GET.


Single Usage

An example of genderizing a single name could look like this.


This would render a JSON response like the following. The count represents the number of data entries examined in order to calculate the response.


Batch Usage

To genderize multiple names at a time, send along an array as the name parameter.

The API is limited to a maximum of 10 names per request


Which would render a response like this.



The endpoint accepts two optional localization parameters.

  • country_id STRING Adds a filter with the following country ID

  • language_id STRING Adds a filter with the following language ID

Both parameters are availible both when genderizing a single or multiple names.

An example could look like this.


The last response will now be calculated exclusively from danish profiles. The response would look like this.


The API follows ISO 3166-1 alpha-2 for country codes and ISO 639-1 for language codes.

Rate Limiting

If you need more than 1000 names/day you need to obtain an API key from The key should be appended to every request like the following.


To keep track of the number of names you have left for a given time period, you should use the HTTP X-Rate headers returned in the response.

X-Rate-Limit-Limit: 1000 // The amount of names in the current time window
X-Rate-Limit-Remaining: 738 // The number of names left in the current time window
X-Rate-Reset: 13829 // Seconds remaining until a new time window opens

Responses and Errors

All responses will be in content-type: application/json; charset=utf-8

Here's a list of the errors the API can respond with. Some of them will only apply if you're using an API key.

401 - Unautherized
{ "error": "Invalid API key" }

402 - Payment Required
{ "error": "Subscription is not active" }

422 - Unprocessable Entity
{ "error": "Missing 'name' parameter" }

422 - Unprocessable Entity
{ "error": "Invalid 'name' parameter" }

429 - Too Many Requests
{ "error": "Request limit reached" }

429 - Too Many Requests
{ "error": "Request limit too low to process request" }

If the API is not able to determine the gender from a name, it will return the gender with a value of null. You can then check for null values and handle the errors as you like.





  • - by Brian Smith

  • A simple python library to take first names and return their gender using the API.


  • jgenderize - by Robson Vargas Farias

  • Simple Java extension to know the gender of a given first name. It consumes the API.