I maintain the Foursquare/Swarm library for Node.js.

December 20th 2017

  • NodeJS
  • Swarm


I was getting ready to build Backstrok.es, but I realized I needed a solid Foursquare library. Looking around, I noticed there were few implementations, and most either were abandoned or lacked access to the endpoints I needed. So I decided to fork an existing library, Foursquare-on-node, and add functionality.

Inevitably, I refactored the fork well beyond a simple pull request. After contacting the author, I applied an MIT license and released my node-foursquare library in the npmjs repository for Node. It is currently listed on the Foursquare Developer site as the only library for using Foursquare within Node.

Two Three


Since the Foursquare API is well-documented, I was able to quickly add all “getter” endpoints to the library. There seems to be little demand for the “setter” endpoints at the moment, in the Node context.


This library conforms to Foursquare API v2 and uses winston as a logging strategy. It has great configuration options, such as warnings vs. errors on deprecated endpoints and targeting specific API changelog numbers. I currently use it in my Backstrok.es project.