Find your local library with a text message!


Today I am very proud to announce that I’ve created the service I wished for ten years ago.

Text LIBRARY 12345 to 41411, assuming that your ZIP code is 12345 (and if it is, how’s the weather in Schenectady?). You will get a text message with the name, address, and phone number of the nearest library.

Here’s how it works:

  • You send the text message “LIBRARY 12345” to 41411 (TextMarks).
  • TextMarks uses the word LIBRARY to assign the rest of the message (“12345”) to my TextMarks application.
  • My TextMarks application sends the rest of the message (in this case, your ZIP code) to a server at freeshell.org. Running PHP scripts on freeshell.org isn’t free, but for a one-time $36 donation, you get that privilege.
  • freeshell.org searches NCES IMLS for branch and central libraries, then finds the first result and identifies the name, address, and phone number in its HTML code.
  • freeshell.org sends back a very simple result with newlines where appropriate (view the source to see how it’s really formatted).
  • TextMarks sends you the literal answer from freeshell.org, plus a brief advertisement with which TextMarks pays the bills. (I don’t see a penny from this except when y’all phone up potential employers and tell them they’d do well to hire me for 2010.)

Things I’d like to add eventually:

  • Support for other location forms like SCHENECTADY[,] NY or 1060 w addison st chicago il, probably with a call to a Google Maps API
  • Support for libraries outside the US (though I caution you, if you give me a location on the south end of Grosse Ile, Michigan, my script won’t know that the Essex County Library in Amherstburg, Ontario is nearer than Bacon Memorial Library in Wyandotte, Michigan — though in that particular case you might not care unless you have a boat)
  • A minor efficiency tweak: search for libraries within 1 mile, and if none are found, try again with 5 miles, 10 miles, and 50 miles before giving up.
  • If no results are found, say so apologetically.

Please tell everyone about it, especially truckers and other business travelers, snowbirds, people who are moving to a new home, etc.

And please let me know what you think, and how to improve it! Thanks especially to Susan Hansen for suggesting IMLS as a more recent source of data.



  1. Nice!

    Did you consider using the Worldcat Registry for htis instead of NCES? The Worldcat Registry would actually give you an XML API, so you wouldn’t have to scrape HTML. But it’s data may or may not be as good/complete (on the other hand, it might have some but not all non-US libraries in it).

  2. No, I hadn’t thought of that. Thank you! Are you aware of any qualitative comparisons that would tell me, for example, that I might want to use NCES within the US and try WorldCat Registry as a backup?

  3. […] Read the bizarre here: Find your inner vital room with a calm message! […]

  4. Oh bother. I’m having webserver problems and I’m out of time for fixing them for a few days. Sorry, folks.

  5. I am aware of no such comparisons, and I suspect none such exist, there aren’t a lot of people working with this stuff. If you wanted to do one and report back, it would be useful.

    Worldcat Registry has a reputation for having a lot of weird and bad data in it; a lot of the data was initially populated from attempts at automated web crawls and such. A library can get an account and correct it’s data, but not many do yet, since it’s not used much yet by anyone anyway. But it does have some pretty nice APIs — I guess it doesn’t matter for SMS application, but for TCP/IP apps, I think it can even try to geo-reference the client’s IP address and give the closest library to them automatically. I think you can filter academic or public libraries, etc. Also the URL for the library’s catalog and website; again, less important in a pure SMS cell phone app, but when you start thinking iPhone etc., pretty cool.

  6. The phone number listed is incorrect for our library. How do we get that changed? It should be 507.328.2300

    • Susan,

      My script pulls the data from http://nces.ed.gov/surveys/libraries/librarysearch/ (National Center for Education Statistics; their phone number is 202-502-7300). They’d be the ones to notify. I’m sorry that the database isn’t accurate, but I do hope they can correct it quickly.

      My script doesn’t cache any data, so as soon as NCES fixes the entry, the text-message search will yield the correct phone number.

  7. Sweet little app! Unfortunately, my local library branch is closed, and that’s the result it gave me. It’s a shame NCES’s database info doesn’t reflect that detail.

  8. Marijane, did you try it very recently? I’m now (as of an hour or so ago) pulling data from IMLS, so you might want to contact them to get the database corrected.

  9. What a great idea!

    To answer Jonathan’s question on Registry and NCES comparison, OCLC has not done much cross-checking with NCES data but we have a link to NCES via the NCES Numbers. The data is currently available as of fiscal 2005 from NCES which might also explain some out-of-date information.

    WC Registry is heavily used by our products, but also begins to see some non-OCLC apps examples that started to use the data and services. See iPhone version example at http://mobileworldcat.org/. Find more about the library includes Registry data.

    We are always looking at improving both data quality and a set of services. Current services are at Affiliate Page here: http://www.worldcat.org/wcpa/content/affiliate/default.jsp and updates also listed in Devnet Blog here: http://worldcat.org/devnet/blog/. We also monitor Dev-net list for new ideas and requests.

    Good luck with your tool! And don’t hesitate to contact me directly if you want more details for WorldCat Registry.

  10. Ben, I’m sorry, after seeing your reply on Twitter, I realize wasn’t specific enough. My closest branch is closed for *remodeling*, not closed permanently as it may have seemed from my post. I imagine this is a more difficult problem to deal with, I’m not sure if contacting the IMLS is appropriate in this situation. The branch will reopen eventually, so it’s not the end of the world, but in the meantime, it does somewhat reduce the usefulness of the app.

  11. […] Here’s how it works. The creator admits that it needs some tweaks, including forms for a full street address (which might solve the slight confusion with the result I received). […]

  12. […] Simply send a message containing the word library and a Zip Code to 41411 and in a few seconds a text message appears with local public library directory info. This service uses the National Center for Education Statistics Library Search Database. More info about the service in this blog post. […]

  13. Fantastic idea (I posted a link on Facebook)! I did get a library further away than my closest branch, though the result was close enough to be convenient for a traveler.

  14. This is really cool, thanks! We’re always checking out new libraries as part of our travel, so being able to ping it and see what is close by when we’re doing so will prove to be helpful. I put it in my contacts.

  15. […] since my TextMarks service expired and you can’t get their free service anymore, this “Find your local library with a text message” service is no longer hooked up to […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: