Python Forum

Full Version: API Gateway to manage multiple API's get put data
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I have need to connect to multiple API's using get requests to pull and store some data which will then be used to compile put requests. I would like to find a very secure method of doing so considering I could be connecting to many API's eventually. Is this what an 'API Gateway' is for? Kong? Tyk? AWS API Gateway? I am curious how others have handled this. I would like to be able to handle the coding in Python and manage 1-100+ API get/put requests with like PostgreSQL or MySQL for the temporary storage for use in manipulating the data from multiple API's which will be used to do PUT requests. I don't think it makes sense to do this from scratch and security is important to me. I don't want to reinvent the wheel if possible.
API Gateways are something used by the provider of some APIs for routing requests, auth, etc. If you're just calling multiple APIs (i.e you're the client), I don't see how that would be relevant.

You likely need to give us more detail about what you're trying to do and what the concerns are if you need more help.
First and foremost, thank you for the reply. I am finding that I am consuming more and more API's for different business needs. In some cases I am actually creating a tunnel betweeen 2 API's. In a nutshell I need to do GET and PUT requests between a handful of API's. I am using Python to do the calls and currently MySQL for local database buckets to create mini stores to process and return information.

I am trying to not recreate a wheel and figure that others have experienced this same need. To process data from many API's, massage the data locally and pass information back and forth. Having all of these API's credentials in one place is worrisome for me. My hope was that someone had already created some sort of framework to do what I am describing. To handle error logging, encrypting credentials, firewalls, etc.

Currently I just have an AWS Ubuntu server with Python 3.9 which I use to handle the current load of API's with MySQL used for data storage. If I just need to keep coding from scratch using the Python Requests module then so be it. I just figured there was some already written system to do what I am doing.