Continue → Overview

Gender prediction 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. Purchased credits have no monthly reset.

Names in the database
8.2M
Countries covered
201
Answers correct
97%
4,610 labelled names from 25 countries, 94% answered
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/v1/gender?name=Jean&country=FR" \
  -H "Authorization: Bearer ng_live_xxxxxxxxxxxx"

Copy failed. Select and copy the text.

Response
{
  "credits_charged": 1,
  "credits_remaining": 99,
  "data_version": "2026.10",
  "request_id": "req_4f1c2a9b7e3d5f60a8b2c4d1",
  "query": "Jean",
  "name": "Jean",
  "first_name": "Jean",
  "middle_name": null,
  "last_name": null,
  "name_type": "personal",
  "gender": "male",
  "country": "FR",
  "sample_size": 1910805,
  "probability": 100,
  "took_ms": 3,
  "source": "db",
  "confidence": "high",
  "matched_as": null
}

Copy failed. Select and copy the text.

Four inputs, one response shape

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

First names
/api/v1/gender?name=Ayşe

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

Full names
/api/v1/gender?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 addresses
/api/v1/gender/email?email=ayse.yilmaz84@example.com

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

Usernames
/api/v1/gender/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/v1/gender?name=Andrea&country=IT" \
  -H "Authorization: Bearer ng_live_xxxxxxxxxxxx"
# → "gender": "male"

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

Copy failed. Select and copy the text.

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/v1/gender/bulk" \
  -H "Authorization: Bearer ng_live_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"names": ["Ayşe", "Jordan", "中村"]}'

Copy failed. Select and copy the text.

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": 100,           // observed dominant-gender ratio
  "sample_size": 655,           // people counted behind that ratio
  "confidence": "high",         // tier computed from sample_size
  "source": "db",               // db | script | fuzzy | llm | none
  "matched_as": null,           // set when a near spelling matched
  "country": null
}

Copy failed. Select and copy the text.

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 stay on your balance until you spend them.

How accurate is the gender detection API?

In the 2026 benchmark of 4,610 labelled names from 25 countries, 97% of its answers were correct and 94% of the names were answered, so 91% of all names were answered correctly. Accuracy measured on the sources that built the index would be near 100% and would tell you nothing. Names missing from the dataset altogether are a different case: of 2,000 names removed from it for a separate test, 10% were answered, by closest spelling, and 97% of those answers were correct.

Can I migrate from another provider?

Yes. The API is plain REST with JSON responses and a key sent in a header, so a switch mostly comes down to a new base URL and mapping the response fields in one place. Run both services on the same sample first and compare the answers before you cut over.

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.