Apigee has written a pretty comprehensive whitepaper on API business.
These are some good pointers from the whitepaper.
1. Understand the API users
Who are using the API? What are they using it for? How does it drive their business?
Not all developers are your API users.
2. API Key, Authentication & Authorization
API providers usually provide at least one of these:
- Identity: Who is making the request? This give birth to API Key. Google Maps uses that.
- Authentication: Are you really who you are? Twitter use username/password authentication via BasicAuth/OAuth/xAuth.
- Authorization: Are you allowed to do that for the user? Twitter also implement authorization for third party apps to do things in place for users.
The Role of OAuth is:
- Solve app-to-app security problem
- User grant access to app A to access app B, without sharing their actual password
- User may revoke the access token at any time
Recommendations:
- Use API Keys for non-sensitive (public) data
- Use username/password for user-to-app
- Use OAuth for server-to-server
- SSL for everything
3. API Versioning
API changes and improves like a product, with new versions that are bound to come along in the future. Some of these API changes could be huge and might require a v2 or v3. eg. Google Maps API
Because developers using an older version might not be able to upgrade their users instantly, the older version has to be supported during the transition.
4. Community and Audience
Developers, developers, developers.. it’s all about developers.
But first of all, you must have a cool product/API.
Then engage them in developer forums and events.
5. API Metrics
Gauge your success by some metrics, such as:
- Developer sign-ups
- API traffic
- Revenue
6. The VMSO
Like a product, be clear of the VMSO.
- Vision: the dream
- Mission: the everyday task to fulfill the dream
- Strategy: the unique approach to take
- Objectives: metrics to success
7. Target customer segment
What is the target customer segment?
Are they the developers (web/mobile/etc), partners, or affiliate marketers? Stressing once again, it cannot be everyone.
8. Use cases
Develop use cases for your developers on how the API can be used.
This in terms let other developers grasp how they can use the API.
9. Differentiate your API
In the same vertical, you have to differentiate yourself.
API switching cost is often high, and difficult, so developers will avoid switching if there is no differentiated values.
10. Don’t try to market to developers
Developers are not enticed to marketing (gimmicks), because they think differently.
Instead, help them to solve their problems. Understand what is important to them and give them what they need to reach these goals.
Lastly, help them earn $