> For the complete documentation index, see [llms.txt](https://docs.sparkloop.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sparkloop.app/client-api.md).

# Client API

The Client API lets you build your own recommendations and offers experience on top of SparkLoop. Instead of rendering the managed signup-flow widget, the SparkLoop script exposes a small JavaScript SDK — `SL.client` — that your code calls to generate recommendations and offers, display them in your own UI, and report your readers' choices back to SparkLoop.

You keep full control of the markup, styling and flow. SparkLoop keeps handling everything behind the scenes: targeting, tracking, attribution and payouts.

{% hint style="info" %}
The Client API is in early beta and only enabled on request. Read [Early Access](/client-api/early-access.md) to see what to expect and apply.
{% endhint %}

### In this section

* [Early Access](/client-api/early-access.md) — who the Client API is for, what to expect from the beta and how to apply.
* [Getting Started](/client-api/getting-started.md) — load the script, turn on client mode and make your first call.
* [Objects](/client-api/objects.md) — the [Recommendation](/client-api/objects/recommendation.md) and [Offer](/client-api/objects/offer.md) objects the SDK returns.
* [Recommendations](/client-api/recommendations.md) — `generate`, `fetch` and `subscribe`.
* [Offers](/client-api/offers.md) — `generate`, `fetch` and `claim`.
* [Testing Your Integration](/client-api/testing-your-integration.md) — run every call in test mode while you build.
* [Errors & Warnings](/client-api/errors-and-warnings.md) — error handling and the rules you must follow.
