Continue → Overview

Gender API

One endpoint turns a name into a gender, a probability and the sample it came from. Built for the names other services give up on.

No credit card. Credits never expire monthly.

Names in the database
8.0M
Countries covered
198
Accuracy on unseen names
93%
measured on 2,000 names held out of the dataset
Rows per bulk request
100

Your first request

Create a key in the dashboard and call the endpoint. No SDK required, though client libraries are available.

curl "https://namegender.com/api?name=Ayşe&country=TR" \
  -H "Authorization: Bearer ng_live_xxxxxxxxxxxx"
Response
{
  "status": true,
  "name": "ayşe",
  "gender": "female",
  "probability": 98,
  "count": 12409,
  "country": "TR"
}

Four inputs, one response shape

Every endpoint returns the same fields, so switching input type never changes your parsing code.

First name to gender
/api?name=Ayşe

The core name gender API. Compound names, titles and initials are normalised before lookup.

Full name to gender
/api?name=Ayşe+Yılmaz

We extract the given name out of a full name, so you can pass what your database actually holds.

Email to gender
/api/email?email=ayse.yilmaz84@example.com

The name is pulled out of the local part before lookup, including dotted and numbered forms.

Username to gender
/api/username?username=ayse_yilmaz84

camelCase, snake_case and trailing digits are all normalised before we look anything up.

Country changes the answer

This is the single highest-leverage parameter on the API. Andrea is male in Italy and female in Germany; Jean is male in France and female in the United States. Pass a country and we weigh the local distribution instead of the global one.

curl "https://namegender.com/api?name=Andrea&country=IT" \
  -H "Authorization: Bearer ng_live_xxxxxxxxxxxx"
# → "gender": "male"

curl "https://namegender.com/api?name=Andrea&country=DE" \
  -H "Authorization: Bearer ng_live_xxxxxxxxxxxx"
# → "gender": "female"

Bulk and file processing

Send up to 100 names in a single POST, or upload a CSV or XLSX and let it run as a job. A one-million-row CSV finishes in about 8.6 seconds of compute.

curl -X POST "https://namegender.com/api/bulk" \
  -H "Authorization: Bearer ng_live_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"names": ["Ayşe", "Jordan", "中村"]}'
See bulk and file tools

Every answer shows its work

Alongside the gender you get a probability, the sample size behind it and where the answer came from. A result you cannot audit is a result you cannot defend to your own stakeholders.

{
  "gender": "female",
  "probability": 98,      // confidence
  "count": 12409,         // sample behind the answer
  "source": "index",      // index | ai
  "country": "TR"
}

What we do not answer

No name-to-gender system is right every time, and a vendor claiming 100% is measuring memorisation, not accuracy. When the data is thin we return an unknown result rather than a guess. You can route an unknown row to a human; a confident wrong answer is much harder to detect.

Our coverage by script, including where we fail →

Questions

Is there a free tier?

Yes. You receive 100 credits every day with no credit card. Credits you buy never expire at the end of a month.

How accurate is the gender detection API?

93% on names deliberately held out of the dataset, measured on 2,000 names. Accuracy measured on the sources that built the index would be near 100% and would tell you nothing.

Can I migrate from another provider?

Paths and parameter names are kept compatible with genderapi.io, so in most cases only the base URL changes.

Do you use AI?

A statistical index answers first because it is faster, cheaper and auditable. An AI fallback is available for names the index has never seen, and every response tells you which path produced it.

Start with 100 free credits every day

Create an account and make your first call in under a minute.