Web APIs hub



In an effort to support transparency and dissemination of our knowledge base, the Wikimedia Foundation has developed a number of repositories of free and open datasets, as well as made its APIs freely available. However these APIs and their documentation are currently scattered across several projects, with no central location for people to learn about and build upon them.

Our proposal is for a central "Wikimedia Developer Hub", which will house all Wikimedia developer community related content. Once built, we propose to host the project on dev.wikimedia.org.

Goals

 * 1) To inspire developers everywhere to build new things using data available from Wikimedia projects.
 * 2) To be the central resource where developers can find a way to  contribute to  Wikimedia projects and build new things on top of the Wikimedia data.
 * 3) To be a friendly and inviting sandbox environment where new and experienced developers can try out different Wikimedia APIs.

Areas of focus

 * Project showcase, examples
 * Sandbox & widgets
 * Data sets
 * OAuth
 * APIs
 * Documentation
 * Related news and announcements
 * Community Help

Get involved

 * GitHub Repo: https://github.com/jgonera/wddh (temporary)
 * Prototype: http://blog.juliuszgonera.com/wddh/ (temporary)
 * IRC channel: irc://irc.freenode.net/wikimedia-ddh
 * Live notes: https://etherpad.wikimedia.org/p/wddh

Structure
The hub as currently proposed would be divided into three sections:
 * "Inspire": where cool projects are showcased; links to more detailed project description pages
 * "Explore": where users can play with the API in a functional sandbox
 * "Build": where all the static official documentation and pointers to data sets reside

Inspire

 * A curated collection of projects created using data from Wikimedia projects.
 * Means of submitting a project to be considered for showcase.

Build

 * Documentation at different technical levels.
 * An organized list of APIs and datasets available.

Community

 * Way of requesting new datasets and/or APIs.
 * Related news, features, and announcements.
 * A way for the community to get in touch with WMF folks for help on projects.

Internal resources for developers
The following is a list of resources housed across multiple locations to help developers build using Wikimedia data. Feel free to add to the list below.

Documentation

 * https://www.mediawiki.org/wiki/API
 * /w/api.php output (self-documenting MediaWiki entry point on every wiki)
 * https://meta.wikimedia.org/wiki/Research:Data
 * https://meta.wikimedia.org/wiki/Research:Data#API
 * http://gdash.wikimedia.org/
 * https://www.mediawiki.org/wiki/How_to_contribute
 * https://doc.wikimedia.org/ (automatically-generated PHP, JavaScript and CSS documentation)
 * CSS documentation currently at http://tools.wmflabs.org/styleguide/

API Sandbox

 * https://www.mediawiki.org/wiki/Extension:ApiSandbox
 * https://en.wikipedia.org/wiki/Special:ApiSandbox
 * https://www.wikidata.org/wiki/Special:ApiSandbox

Existing APIs

 * rcStream API (new)
 * Flow API
 * Echo API
 * GeoData API
 * Parsoid API
 * Wikidata API
 * Upload API
 * Commons API


 * Mediawiki API
 * Mobile (content) API
 * Language API
 * Account Creation API (new)

Other Internal(ish) Projects

 * http://stats.wikimedia.org/EN/TablesWikipediaEN.htm#editdistribution
 * http://infodisiac.com/
 * http://seealso.org/

Data Sets

 * https://www.quora.com/Data/Where-can-I-find-large-datasets-open-to-the-public (big list)
 * http://www.reddit.com/r/datasets (another big list)
 * https://www.google.com/publicdata/directory
 * http://www.data.gov/
 * https://www.opensciencedatacloud.org/publicdata/

Programmable Web

 * http://www.programmableweb.com/

Twitter

 * https://engineering.twitter.com/
 * http://twitter.github.io/
 * https://dev.twitter.com/
 * https://dev.twitter.com/docs
 * https://dev.twitter.com/docs/api/1.1
 * https://dev.twitter.com/docs/streaming-apis

Google

 * http://developers.google.com
 * https://developers.google.com/products/
 * http://developers.google.com/apis-explorer/
 * https://developers.google.com/oauthplayground/
 * https://developers.google.com/maps/
 * http://www.google.com/drive/apps.html#fusiontables

Facebook

 * https://developers.facebook.com/
 * https://developers.facebook.com/docs/
 * https://developers.facebook.com/docs/graph-api/
 * https://developers.facebook.com/docs/reference/apis/

Evernote

 * http://dev.evernote.com/
 * http://dev.evernote.com/doc/
 * http://dev.evernote.com/doc/reference/
 * http://dev.evernote.com/doc/articles/authentication.php

LinkedIn

 * https://developer.linkedin.com/
 * https://developer.linkedin.com/documents/authentication
 * https://developer.linkedin.com/rest

GitHub

 * http://developer.github.com/
 * http://developer.github.com/v3/
 * http://developer.github.com/guides/

Amazon

 * https://developer.amazon.com/
 * http://aws.amazon.com/
 * http://aws.amazon.com/documentation/

Dropbox

 * https://www.dropbox.com/developers
 * https://www.dropbox.com/developers/sync
 * https://www.dropbox.com/developers/datastore
 * https://www.dropbox.com/developers/core
 * https://www.dropbox.com/developers/dropins/chooser/js
 * https://www.dropbox.com/developers/dropins/saver

Instagram

 * http://instagram.com/developer/
 * http://instagram.com/developer/authentication/

Stripe

 * https://stripe.com/docs
 * https://stripe.com/docs/api/curl

Paypal

 * https://developer.paypal.com/
 * https://developer.paypal.com/docs/
 * https://developer.paypal.com/docs/api/

Tumblr

 * http://developers.tumblr.com/
 * http://www.tumblr.com/docs/en/api/v2

Last.fm

 * http://www.last.fm/api
 * http://www.last.fm/api/intro

Twillio

 * https://www.twilio.com/
 * https://www.twilio.com/docs
 * https://www.twilio.com/docs/api
 * https://www.twilio.com/docs/quickstart

Vimeo

 * http://developer.vimeo.com/
 * http://developer.vimeo.com/apis
 * http://developer.vimeo.com/apis/simple

Pinterest

 * http://developers.pinterest.com/
 * http://developers.pinterest.com/api_docs/

The Guardian

 * Developer hub
 * API explorer/sandbox
 * App showcase

New York Times

 * Developer network
 * App gallery
 * API console/sandbox
 * API docs

Mendeley

 * Developer portal
 * API docs

Flickr

 * https://www.flickr.com/services/api/
 * https://www.flickr.com/services/developer/
 * https://www.flickr.com/services/apps/about/
 * https://www.flickr.com/services/apps/create/

Best in Class human readable API documentation
SoundCloud

LA Metro

Open Street Maps (writing style, but not layout or design)

Sandbox Examples

 * Swagger
 * Redis