1. MITMProxy[1] is scriptable (Python API) to modify requests/responses, or HTTP ToolKit[2] seems to be more on the non-code side (haven't used it).
2. Sure, but there's not much value in it. An API is the available contract for the communication between services. The server needs to guarantee it and the client can implement the needed parts. The client should implement solutions for server-side error cases either way, handle rate limiting, and send each request with a timeout. Everything else relies on the guarantee of the server, which, as the client, isn't your responsibility.
3. Only when i need a quick workaround for a feature the server doesn't provide (e.g. CORS injection) and maybe for test automation.
[1] https://mitmproxy.org/
[2] https://httptoolkit.tech/