I am doing some experiments on fuzzy matching and need a set of 1M or more names. They can be anything, basically: people, plants, addresses, concepts, as long as they look real, i.e. not synthetic and there are lot's of them.

  • From the Twitter API Public Stream you have "user name", which is not @screen_name, and is mainly real names (e.g. Joe Smith). You can collect 1 milliion pretty fast with the 1% sample feed. – philshem Apr 21 '15 at 18:55
  • OK, thanks. I tried the given request stream.twitter.com/1.1/statuses/sample.json and was asked for a userid and password. My Twitter account did not work there, what kind of an account do I need? OAuth? How would I obtain it? – LauriP Apr 23 '15 at 9:02
  • First you need to create a developer account, then you need to create an "app", then go to the Keys tab and copy your Consumer Key and Secret, and generate Access Token and Key. In total, it's 4 hashed strings that you need. The python-twitter Readme has good instructions and if you use that package, after authentication there is only one function call: api.GetStreamSample(). – philshem Apr 23 '15 at 18:01


Wikipedia let you download the data conveniently, without API limits, so you can get the titles of their 4M+ English articles. Depending on your needs, you can try other languages as well. See


In particular, file *-all-titles-in-ns0.gz.

Alexa One Top Million Websites

These are domain names, though not sure it meets your requirements.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.