2 min read
List products
const res = await fetch(
'https://api.credicorp.co.uk/public/v1/products',
{ headers: { Accept: 'application/json' } },
);
if (!res.ok) throw new Error(`${res.status}`);
const { data } = await res.json();
console.log(data);Bun implements the standard fetch, so the Node examples run unchanged and start faster. Read the base URL from Bun.env or process.env.
Use the sandbox in development
Point the base host at https://sandbox.credicorp.co.uk/public/v1 in development and CI, and at https://api.credicorp.co.uk/public/v1 in production, driven by one environment variable. See choosing a base URL.
Next steps
From here, request a quote, submit an enquiry, and send applicants to apply. Handle errors with the shared error envelope.
Frequently asked questions
Are the Node examples compatible with Bun?
Yes. Bun implements the Web fetch and most of Node's API, so the public-ring examples run as-is.
How do I handle errors in Bun?
Check the status code and read the error object from the body — error.code is the stable machine string to branch on. The pattern is identical across every endpoint.
Related reading

Quickstart: choose the right base URL — sandbox vs production
Every Credicorp API integration should read its base host from configuration, never hard-code it. Development…
Read →
Quickstart: get an indicative loan quote from the public API
POST /public/v1/quote turns an amount and term into an illustrative repayment. Send the requested amount and…
Read →
Quickstart: handle Credicorp API error responses
Every Credicorp API error uses the same envelope: { error: { type, code, message, request_id } }. Branch on…
Read →
Quickstart: your first Credicorp public API call with curl
The fastest way to see the Credicorp public API working is a single curl call to GET /public/v1/products. The…
Read →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.