Pro tip: Don't try to be "too smart" or clever when talking to your users.<p>Being wrong here is so much more tacky than either asking for gender if you need it, or just writing in a gender neutral way.<p>"I'm sorry we were wrong, but our computer determined you have a girl's name. If you change your name, it'll work now."
For people interested in other tools, there is a command line gender verification tool and database:<p><a href="http://www.autohotkey.com/board/topic/20260-gender-verification-by-forename-cmd-line-tool-db/" rel="nofollow">http://www.autohotkey.com/board/topic/20260-gender-verificat...</a><p>and a Ruby gam that is built on the above data:<p><a href="https://github.com/bmuller/sexmachine" rel="nofollow">https://github.com/bmuller/sexmachine</a>
Neat!<p>It would be nice to get some sort of "confidence level" - <a href="http://api.genderize.io/?name=jackie" rel="nofollow">http://api.genderize.io/?name=jackie</a>
It's strange to believe you can effectively determine gender from a first name - even when concentrating on Anglo-centric names, as this appears to.<p>How is the data generated? By hand? I can imagine this might be somewhat useful if it gave a non-binary result.<p>"Paris" is "male".
Interesting, but I question its utility, particularly if a name is ambiguous - like "Alex". Also, I tried it with my sister's name, Nanna, and it returned "null." Apparently she's neuter.
On my first try I got an erroneous result on a non-Anglo name:
<a href="http://api.genderize.io/?name=krishna" rel="nofollow">http://api.genderize.io/?name=krishna</a>
returned "male". In fact god names are unisex; I've met a female Krishna.<p>Edit: and "null" on Vishnu. I didn't see on the page whether this is supposed to extend beyond Anglo-American culture.<p>And "kyle" came up "male", tho I can report a female Kyle. Whoever is populating the database may be underestimating gender/naming trends.
Other commenters are already demonstrating that the error rate is way too high to be useful. If you need a user's gender (and you probably don't), just ask them.
It seems like he deleted my comment from his site's disqus (it's his right) but I rewrote the exact same API in a couple of lines using sexmachine and ruby (I had been meaning to try Sinatra anyway). The source is here:
<a href="https://github.com/rajington/genderizer" rel="nofollow">https://github.com/rajington/genderizer</a><p>Hosted on heroku's free tier here are some more interesting examples:<p>Basic:
<a href="http://genderizer.herokuapp.com/?name=peter" rel="nofollow">http://genderizer.herokuapp.com/?name=peter</a><p><pre><code> {"peter":"male"}
</code></pre>
"Mostly" Response:
<a href="http://genderizer.herokuapp.com/?name=Jamie" rel="nofollow">http://genderizer.herokuapp.com/?name=Jamie</a><p><pre><code> {"Jamie":"mostly_female"}
</code></pre>
Country (helps with guesses, default USA):
<a href="http://genderizer.herokuapp.com/?name=Jamie&country=great_britain" rel="nofollow">http://genderizer.herokuapp.com/?name=Jamie&country=great_br...</a><p><pre><code> {"Jamie":"mostly_male"}</code></pre>
I've thought about this before, you also should be able to get a somewhat accurate estimate of the median age of a group of attendees to an event based on the first names alone. See Baby Name Wizard Voyager tool for visualizations of first name occurences since 1900s: <a href="http://www.babynamewizard.com/voyager" rel="nofollow">http://www.babynamewizard.com/voyager</a>
Hello.<p>I'm the author of genderize.io.
At the time of your comments i was slowly getting this API up and running. A lot of sudden traffic made that a little hard :)<p>At the time, i was utilizing a few lists of officially approved names from a few European countries. We have those in Denmark, where i'm from, among a few other countries. This had led me to believe that most countries had lists like this and i was planning to add them as i went along.<p>I since change my approach, moving from the lists to large datasets of user profiles from social networks. This has given me the chance to update the API, adding probabilistic guesses along with the ability to add localization based filters.<p>My datasets are not that huge yet, but they're constantly growing.<p>Just wanted to say thanks for all the feedback i found in here and give a heads up on the update :)
There has been a perl module that does this for a while
<a href="http://search.cpan.org/~edaly/Text-GenderFromName-0.32/GenderFromName.pm" rel="nofollow">http://search.cpan.org/~edaly/Text-GenderFromName-0.32/Gende...</a>
I see you can add names to its "dictionary" and it give a probability.
First two tries:<p><pre><code> ~ % curl "http://api.genderize.io?name=pat"
{"pat":null}%
</code></pre>
Shouldn't that be "unisex"?<p><pre><code> ~ % curl "http://api.genderize.io?name=patricia"
{"patricia":null}%
</code></pre>
Hm...
Completely worthless without a national/ethnic hint.<p>E.g. "Jean" will be male if the first name of a French person, while likely female in the US.
It tells me that my daughter's name, Avery, is male, yet it is the 13th most popular name for baby girls right now. Someone needs an updated data set.
How well does it compare to <a href="https://nltk.googlecode.com/svn/trunk/doc/book/ch06.html" rel="nofollow">https://nltk.googlecode.com/svn/trunk/doc/book/ch06.html</a>. If the genderize.io folks are listening, can you look at providing some benchmark/test set to evaluate the efficiency of the underlying algorithm?
I haven't tried the api yet, but the example on the home page says that "Lois" is a female name - when in fact, in the 1930s it was quite a popular male name with about 70 boys born each year named lois. Checkout <a href="http://www.namemeababy.com" rel="nofollow">http://www.namemeababy.com</a> to see the full stats.
Worked on gender-determination for a project for a client in a U.S. male-dominated industry. Baby name gender frequencies by birth year are available online. One interesting wrinkle - can apply simple Bayesian technique - e.g. even if Pat is 50-50 male-female in population at large, firefighter Pat is more likely to be a man.
If you're interested in doing this yourself, the book associated with Python's Natural Language Toolkit has a pretty good introduction to identifying gender in the chapter on text classification [1].<p>[1] <a href="http://nltk.org/book/ch06.html" rel="nofollow">http://nltk.org/book/ch06.html</a>
Also helpful is:<p><a href="https://github.com/bmuller/sexmachine" rel="nofollow">https://github.com/bmuller/sexmachine</a><p>which uses a multilingual dictionary, that accounts for names that cross gender in different countries.
I sanity-checked the service with some common unisex names. Here are the results I got:<p>Unisex: Robin, Alex<p>Female: Kelsey, Carol<p>Male: Leslie, Jodi, Jody, Frankie, Kelly, Marion, Casey, Jamie, Jordan, Mackenzie<p>Null: Pat, Taylor, Dale
If this were for data data analysis then it would have a probability attached.What you have to ask yourself is gender really needed for your application? If not it's best to just avoid it; using guesses is the best way to data corruption.
There's a PECL extension for PHP that claims to provide this too: <a href="http://php.net/gender" rel="nofollow">http://php.net/gender</a><p>Not tested it on too many challenging tasks but it seems to work well too.
<a href="http://api.genderize.io/?name=Αλεξανδρος" rel="nofollow">http://api.genderize.io/?name=Αλεξανδρος</a><p>This throws an error and gives us a very pretty stack-trace :)
I couldn't find an API, but some might be interested in GenderChecker [0].<p>[0] <a href="http://www.genderchecker.com" rel="nofollow">http://www.genderchecker.com</a>