API Documentation: Improving the API Developer Experience

Dragos
Dragos
Founder, robot with feelings. From planet Aiur.

This article will explain the importance of API documentation in a developer’s day-to-day life.

📚 Table of contents

Looking for a documentation platform that's easy to use?

Try Archbee for free. Capture complete product knowledge from across your company and publish it with fully customizable portals.

In the 21st century, APIs make the world go round. Short for application programming interface, this software essentially allows two programs to communicate and work in tandem.

For example, if you googled “Bucharest weather”, you’d see a weather forecast.

However, Google’s software doesn’t predict the weather—a third-party software solution does, and Google simply receives this information via the help of an API.

Nowadays, APIs are everywhere, and developers interact with them constantly.

This article will elucidate how and why, and explain their importance in a developer’s day-to-day life.

What Is API Developer Experience

Generally speaking, software-oriented teams strive to deliver an optimal user experience.

Defined as the overall experience a human has with a piece of software, user experience encompasses all the emotions a user has while using a piece of software.

One unique user experience subsection is known as developer experience.

This discipline focuses exclusively on a developer’s software impressions, as they will likely have a different experience than non-technical users, given their proximity to software.

For example, developers using your product will probably work with the API (unlike most end-users).

Consequently, one of the core components of developer experience is API interaction.

The image below illustrates that:

Source: Archbee

The principal link between data and applications, APIs are a fundamental part of modern software. As such, they’re essential to the developer experience.

Amit Jotwani has also observed this, stating:

Source: InfoQ / Image: Archbee

If you make sure that the API developer experience you provide is positive, your API is more likely to gain traction (and users).

Conversely, a negative API experience will result in unpopularity.

To achieve a positive API developer experience, it’s essential to strive for the following characteristics:

Source: Archbee

These four features signify a quality API developer experience. For starters, the API should be functional—it should solve a problem efficiently and effortlessly.

Furthermore, an API needs to be reliable. In other words, it should easily scale, remain stable, and always be available for use.

Developers also need to be able to use the API effortlessly. The interface should be functionally intuitive, offer support for error handling, and help create tests.

Finally, an API should be enjoyable to use. The overall experience should be straightforward, gratifying, and pleasant.

If the API developer experience incorporates all four of these characteristics, developers are sure to have a positive outlook on your API and will enjoy using it.

That being said, different types of developers will interact with your API.

You can’t expect only mid-level backend developers to use your API—it’s just as likely that a junior frontend developer or a CTO might use it.

Here’s an overview of developer figures that can engage with your API:

Source: Swagger

Each profile is approaching your API for a different reason, and depending on how well this aspect is developed in your API, each of them will have a different API developer experience.

For example, the Product Manager will evaluate the API with a wide lens, determining if the interface would solve a general, overarching issue.

However, a backend developer will operate on a micro-level, trying to fix a specific problem.

For a high-functioning API developer experience that provides consistent positive engagement, you’ll need to develop your API for all use cases.

Why Is API Developer Experience Important

In today’s interconnected and integrated world, APIs are a staple building block for most businesses and software.

The interfaces are driving modern-day collaborations and, therefore, they are a necessity for most organizations.

As a result, developers are incredibly well-acquainted with APIs and are constantly coming in contact with them. It’s safe to say most developers engage with them daily.

A recent report by Postman revealed how much time is spent on APIs:

Source: Postman / Image: Archbee

According to the report, 27% of developers spend more than twenty hours a week on APIs—more than half of the working week.

Furthermore, 40% allocate between ten and twenty hours weekly for API-related tasks. These numbers reveal the prominent role APIs play in a developer’s workload.

Considering the prevalence of APIs, you want developers to enjoy using them.

Nowadays, as the principal users of APIs, developers are gaining more and more influence in deciding if an API will be adopted.

They are the decision-makers on whether or not to choose your product.

However, if your API is difficult to understand, insecure, and unoptimized for testing, developers will shy away from your product.

Ronnie Mitra, former Director of Design at The API Academy, commented on this:

Source: Nordic Apis / Image: Archbee

In other words, the success of your API often depends on the API developer experience.

If developers have a negative experience with your interface, they won’t adopt it or recommend it to others, and your business might stagnate.

Furthermore, not only will you lose customers, but you’ll also miss out on product growth.

Well-designed APIs have the potential to open up new business opportunities, and expand your possible user base.

For example, Walgreens incorporates an API as part of its on-site photo printing services—the service has to host photo apps.

The better designed that API is, the more photo software they’re likely to attract.

With a high-quality API, more and more business opportunities will open up as developers are naturally drawn to your product. There’s no better promoter than a first-rate product.

This is a reality the financial software company Intuit realized.

Recognizing user experience as the highest priority and acknowledging that customers often incorporated Intuit’s product into their own applications, Intuit made the API developer experience a priority.

Their Head of Engineering, Rajashree Pimpalkhare, described her role as follows:

Source: ProgrammableWeb / Image: Archbee

The fact that the Head of Engineering was in charge of this cohesion speaks to the importance of the API developer experience.

Intuit truly considered third-party developers’ impressions of their API a critical driver of business success.

How to Design a Good API Developer Experience

It’s well-established that an API should be functional, easy to use, and accessible. However, being aware of these necessary traits is only the first step.

The real challenge is designing your API according to these attributes.

If you’re unsure how, try the following method:

Source: Archbee

First, determine your audience. What developers might use your API—senior or junior ones? Backend or frontend? Your API should accommodate all of them.

Then it’s time to define functionality. What value does your API deliver? How will it structure the data and reduce calls?

After deciding that, think about optimizing usability. How will you onboard newcomers? How much of your API is documented?

Finally, the last step is enhancing the experience through other resources—for example, by hiring an accessible support team to respond to inquiries.

Follow this framework, and you should be able to create a pleasant API developer experience that developers will welcome.

Ideally, for first-rate API enjoyability, your software would contain the following:

Source: Archbee

Developers don’t want to spend too much time signing up for an API, so easy onboarding is valued. Similarly, the setup time should be no longer than fifteen minutes.

Thorough documentation is also valuable, as developers will navigate the interface more easily.

Finally, developers will appreciate an active community and a responsive support team. That way, they can connect with others and learn how to better utilize the API.

These five characteristics are benefits that build towards a positive API experience developer experience.

However, you can also achieve this goal with high-performing technical elements.

Here are some technical metrics to use to determine whether your API is well-designed:

Source: Archbee

The invocation ratio measures how many calls a developer needs to accomplish their task, whereas time to first call assesses how quickly they can make their first API call.

Organization is also important. Structure metrics analyze specifics such as how deep data is located. Similarly, navigation deals with how difficult it is to find data.

Error handling is also crucial, as errors should be infrequent and easy to fix. Finally, developer stack size calculates the number of new components.

Use these metrics to consistently monitor your API’s performance, and you’ll maintain a positive API developer experience.

However, all this information is a lot to manage. Luckily, there are plenty of tools to help you out.

For example, Anypoint Platform is a solution that facilitates API development and maintenance.

The platform offers resources that help build, deploy, secure and monitor your APIs all in one location.

Here’s one of their sample analytics dashboards:

Source: Anypoint Platform

The tool aggregates all possible metrics, making it easy to analyze your API’s performance.

With such detailed insights, you’ll immediately notice malfunctions and consequently be able to solve issues quickly.

Therefore, you should maintain a positive API developer experience as developers continue to effortlessly utilize your API.

How API Documentation Improves API Developer Experience

It is technically possible to use APIs without any API documentation.

However, this approach demands lengthy and painstaking code examination, and developers will waste time simply learning about the API—let alone using it.

Documentation significantly accelerates this process. Instead of dissecting code, developers are served information on request parameters, sample responses, endpoints, and more.

API documentation guides developers through their adoption journey.

As a result, high-quality documentation will improve the API developer experience.

Most companies nowadays are realizing this, as made apparent by the following numbers:

Source: SmartBear / Image: Archbee

Almost half of all API providers consider API documentation a high priority. These statistics attest to the importance of such documentation in the API developer experience.

If the above numbers aren’t testimony enough, the contents of API documentation alone can also prove its benefits.

The below visual depicts everything extensive API documentation will contain:

Source: Archbee

Information about authentication schemes constitutes the initial details developers need just to start using your API.

However, later on, they’ll appreciate intelligence on error messages. API documentation typically instructs users on how to overcome common API errors.

Especially important is the knowledge of endpoints, as request and response cycles are API’s main components.

API limits should be specified as well, since it’s essential that developers understand what types of use and practices are allowed.

On the legal side, API documentation should also contain terms of use so that developers are explicitly required to comply with your organization’s practices.

Finally, an API changelogis also essential. It enables developers to learn about new API-related updates.

High-quality API documentation should encompass all these elements, complete with code examples and tutorials.

Such a thorough approach will definitely improve the API developer experience.

Here’s a real-life example of such model API documentation:

Source: Stripe

Stripe has explained an error-handling approach, complete with step-by-step instructions and code examples.

If a developer runs into a problem, this documentation snippet might just fix their issue.

Another software giant—PayPal—also has stellar API documentation. Look at their NVP/SOAP API endpoints:

Source: PayPal

The endpoints are easily understood and accessible. All information is displayed logically and clearly, significantly assisting any developer who requires these details.

However, the first step to creating high-quality API documentation is choosing the right documentation platform.

Ideally, you’d want an interactive and code-optimized documentation tool.

For example, Archbee provides a specialized in-house widget designed to describe API specifications.

The widget can list URLs, parameters, cookies, request structures, response structures, and more.

Here’s an example:

Source: Archbee

The widget is highly flexible and can describe any type of HTTP endpoint in detail.

With this feature, you can easily illustrate your API via documentation and ultimately create a positive API developer experience.

Conclusion

The API developer experience encompasses all the feelings, thoughts, and impressions a developer goes through when interacting with an API.

Broadly speaking, the experience can be positive or negative.

A positive API developer experience encourages API adoption. As such, it’s vital to design an API well right from the start, focusing on functionality and usability.

API documentation, in particular, is a huge usability factor, as it helps developers navigate the interface more easily.

Whatever you do, don’t disregard API management—it’s an essential part of the developer experience.

Continue Reading