Application Programming Interfaces or APIs are used to transmit data to and from applications. Historically, building APIs required custom protocols and highly specialized technology. Web APIs today utilize the same HTTP protocol as the world wide web. Intuitively structured URIs allow resources to be accessible to a wider audience of developers and non-developers. Data can be accessed through multiple devices including desktop applications, web apps, and mobile.
Languages / Frameworks
At Blue Hook, we have experience building APIs using several different technologies. For production quality systems, we recommend Python and Django REST Framework to clients looking for a robust and widely used solution, but Flask is another great Python framework which works equally well. We are also open to using other technologies such as Ruby, Node.js, and Go.
Learn More about Our Services
Database Design & Development
We have experience working with many different databases at Blue Hook too. Some MVPs may only need SQLite, but PostgreSQL is the preferred database for larger Django and Flask projects. Contact us so that we can discuss your needs and see whether our services would be the right solution for you.
The most important feature of an API is security. It is absolutely essential to account for the characteristics of your application and implement the most appropriate mechanism for securing resources. Depending on the circumstances, a variety of approaches can be used:
- Basic Auth - Testing, less sensitive information, best with SSL
- Tokens / Keys - Client-server setups, such as native desktop and mobile clients
- Open authorization (OAuth) - Signature validation provides a reasonable level of security over non-HTTPS connections