There's a lot of non-technical info on the Mashery site. And it's stated everywhere that Mashery is all about API management.

I have three questions about it:

  1. What is API management in plain English?

  2. How does the integration process look like? (Should I change my program? Should my existing users change their programs? If both answers are "no" then how does it work?)

  3. I have a stateless application with RESTful API which is deployed on many servers. I need to obtain statistics on:

    a) Incoming requests: HTTP headers, path, request body, time stamp, instance ID;

    b) Exceptions: request identifier, error type, error details, time stamp;

    c) Requests processing: start time stamp, duration of the overall request processing.

And then I also need combined (merged) results (as graphs maybe). Does Mashery fit these requirements?


I'm the Director of Product Development at Active.com, and we've been using Mashery for over 2 years.

  1. API management entails API key allocation (similar to Google Maps) so you can control which developers have access to which APIs, throttle controls so that developers don't abuse your API by calling it too often, and reporting, so you can get an idea on which APIs are used and how frequently, and by which developers. It also involves caching so that responses are sent directly from Mashery instead of your infrastructure. This cuts down on the need to procure new servers to deal with scalability issues for read APIs.

  2. Mashery is, essentially, a reverse proxy that sits on top of your API. Say, for example, your API is available at apicompanyx.com. When run through Mashery, you'd create a domain called api.companyx.com and CNAME it to the Mashery proxy. Then, you point developers to api.companyx.com when making requests to your API. When an API request is made, Mashery applies aforementioned access control logic before forwarding the request to your API infrastructure. Your API infrastructure then processes the request and returns it to Mashery. Mashery then returns the request to the developer.

  3. a) You can't get details on HTTP headers through the Mashery dashboard. But you can request that information from Mashery (I believe) as they have it in their proxy logs. b) Exceptions are logged, and you can view, in a graph, all the exceptions that occur broken down by API over a time period. But only the error codes are graphed. Error details are not available through the proxy. c) You can get statistics, again through graphs, about how long your APIs take to process, and how many requests they handle over a period of time. Mashery also splits out cached processing time from uncached processing time so you can get an idea about how caching is working.


Not the answer you're looking for? Browse other questions tagged or ask your own question.