Introducing the Focusmate Public API: Empowering developers in the Focusmate community

Focusmate’s public API is now available for use! This initial release allows programmatic access to profile and session data. Techies: we’d love your feedback! Check out our documentation – and don’t forget to bring your API key (available in your Focusmate account settings page).

This is awesome news for programmers, but it might leave other folks scratching their heads. What the heck even is an API?

Definition – API ABCs

API stands for Application Programming Interface. An API allows one program to “talk” to another. The payment app Venmo is a good example of this: it uses Facebook’s API to get your friend list, and allows you to send payments to them.

In the same way, Focusmate’s public API allows other applications to see your profile and session history.

Privacy – Hands off my data!

“Wait – anybody can see my session history?” Nope! Only if you let them. In order for anyone to get your private data through this API, you need to give them explicit permission. There are two ways you can do this: via the “external authorization” page, or via an API key.

If you aren’t writing code, you probably don’t need to worry about API keys. They are basically computer-generated passwords that work only for the API. You can create one in Focusmate’s settings page.

Generating a Focusmate API key

On the other hand, you might have already seen the “external authorization” page. It lets you explicitly grant permission for another application to use your Focusmate data. Beeminder, for example, uses this screen. It then regularly checks your session count, and penalizes you if you don’t do enough sessions.

Beeminder’s external authorization screen

Uses – OK, so what?

With this initial API release, you can get data regarding your profile, your session history, and limited public information about other users. With the right programming knowledge, you could do things like:

  • Every day, count your sessions in a Google spreadsheet for timekeeping
  • Create a graph of your session history over time
  • Send yourself SMS reminders before the start of upcoming sessions
  • Find out how many different time zones you’ve worked with (similar to Focusmate’s end-of-year email)
Focusmate’s end-of-year email

We might eventually add the ability to book and cancel sessions through the API, which would open many more doors!

Conclusion – The part where it gets personal

When I applied to join the Focusmate engineering team, part of my application was a simple Android app that listed your Focusmate sessions and sent you notifications before they started. It was limited and hacky. My hope is that a well-documented public API can encourage other developers to do similar (and better!) things.

Focusmate has an incredible user base, brimming with enthusiastic members from all over the world. If you’re a developer, consider joining the Focusmate Software Developers group. I hope to co-work with you sometime! And if you build an interesting tool, let us know at developer@focusmate.com – we’d love to start a gallery of community-made tools!

See you in a session,

David Augustus
Focusmate Engineering

More To Explore

Accountability

Beeminder + Focusmate Integration

We are excited to announce our first integration with another productivity app: Beeminder!  Beeminder gives you an extra layer of accountability or, as the folks