Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

webfinger-unofficial Webfinger


This is a WebFinger server for Facebook and Twitter. It's deployed at these endpoints:

It's part of a suite of projects that implement the OStatus federation protocols for the major social networks. The other projects include activitystreams-, portablecontacts-, salmon-, and ostatus-unofficial.

Google isn't included because it already provides a WebFinger server for Google accounts at

License: This project is placed in the public domain.


This simply implements the WebFinger protocol using Facebook's and Twitter's OAuth authentication and APIs. To use it, just point your WebFinger client code at the endpoints above.

If your client consumes arbitrary email addresses, you'll need to hard-code exceptions for and and redirect HTTP requests to these endpoints. (The user URI may use either domain, e.g. or

Future work

This should be refactored so it can be used as a library, like activitystreams-unofficial.

We'd also love to add more sites! Off the top of my head, Yahoo, Microsoft, Amazon, Apple's iCloud, Instagram,, and Sina Weibo would be good candidates. If you're looking to get started, implementing a new site is a good place to start. It's pretty self contained and the existing sites are good examples to follow, but it's a decent amount of work, so you'll be familiar with the whole project by the end.


Pull requests are welcome! Feel free to ping me with any questions.

Most dependencies are included as git submodules. Be sure to run git submodule init after cloning this repo.

You can run the unit tests with ./ They depend on the App Engine SDK and mox, both of which you'll need to install yourself.

Note the app.yaml.* files, one for each App Engine app id. To work on or deploy a specific app id, symlink app.yaml to its file. Likewise, if you add a new site, you'll need to add a corresponding file.

To deploy:

rm -f app.yaml && ln -s app.yaml.twitter app.yaml && \
  ~/google_appengine/ --oauth2 update . && \
rm -f app.yaml && ln -s app.yaml.facebook app.yaml && \
  ~/google_appengine/ --oauth2 update .


A WebFinger server for Facebook and Twitter.






No releases published


No packages published