Determine the gender of a first name determines 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.

At the moment, the database contains 216286 distinct names across 79 countries and 89 languages.

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

Be sure to check out the use case section as well, to see what other people have done with the API.

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.


Multiple 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 - optional
  • language_id string Adds a filter with the following language ID - optional

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

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

The API uses four types of HTTP status codes. All responses will be in content-type: application/json; charset=utf-8

200 - OK
{ "DATA" }

400 - Bad Request
{ "error": "here's your problem, dude!" }

429 - Too Many Requests
{ "error": "you need to slow down!" }

500 - Internal Server Error
{ "error": "sorry, my bad!" }

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.


Follow along

Genderize is literally improving by the minute. Besides that, i am working to add more data and functionality to the API. Common age, geographical estimates, ethnicity? Things are in the working. Sign up and i'll send you a mail whenever i do major updates.

To get in contact, please use or the comment thread below.

*The email will NOT be used for anything else.


comments powered by Disqus