Quickstart

Quickstart: use the Credicorp public API in FastAPI

Here is the idiomatic way to call the Credicorp public API from FastAPI. Fetch the product catalogue, cache it, and read the base host from configuration — the same shape you extend for pricing, quotes and enquiries, always keeping partner secrets server-side.

2 min read

FastAPIIdiomatic integration
cacheCatalogue changes rarely
configBase URL from env

Call the API from FastAPI

from fastapi import FastAPI
import httpx

app = FastAPI()
BASE = 'https://api.credicorp.co.uk/public/v1'

@app.get('/products')
async def products():
    async with httpx.AsyncClient(timeout=10) as client:
        r = await client.get(f'{BASE}/products')
        r.raise_for_status()
        return r.json()['data']

Use an async httpx client inside a FastAPI route and share one client via a lifespan dependency for connection pooling. Cache the catalogue in Redis rather than fetching per request.

Sandbox first

Set the base URL to https://sandbox.credicorp.co.uk/public/v1 in development and CI. See choosing a base URL.

Next steps

Add a quote form or an enquiry submission, and send applicants to apply. Handle failures with the shared error envelope.

Frequently asked questions

Should I cache the catalogue in FastAPI?

Yes — it changes infrequently. Cache it for the response's max-age using FastAPI's caching layer, so the API stays off your hot path and under the rate limit.

Where does the base URL belong?

In FastAPI's configuration, read from an environment variable per environment, so the same build runs against sandbox and production by changing one value.

Funding for UK limited companies

Credicorp lends to your company, not to you personally — short-term working capital with no personal guarantee. See what your business could access.