# Ketto — Wrapped API

> **You are on:** `https://api.beta.paywithlocus.com/api` | [llms.txt](https://beta.paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Discover trending and searchable fundraisers on Ketto with detailed campaign information, updates, and community comments to find causes that matter to you. Access real-time platform statistics and browse fundraising campaigns across different categories to support or learn about active charitable initiatives.

**Category:** Other | **Website:** [ketto.org/](https://ketto.org/) | **Docs:** [parse.bot/marketplace/0e4f9e9a-a484-404b-b10d-f605f068f9a3/ketto-org-api](https://parse.bot/marketplace/0e4f9e9a-a484-404b-b10d-f605f068f9a3/ketto-org-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.beta.paywithlocus.com/api/wrapped/credits/ketto/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Browse fundraisers

Browse all fundraisers with pagination and optional category filter. Uses MeiliSearch full-text index. Returns fundraiser hits with campaign details including raised amounts, categories, media, and facet distribution for filtering. Paginate via offset parameter.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category` | string | No | Filter by category. Accepted values: Medical, Education, Animals, Children, Community Development, Creative, Environment, Food & Hunger, Memorial, Others, Women & Girls. |
| `limit` | integer | No | Max results to return per page. |
| `offset` | integer | No | Offset for pagination (number of items to skip). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/ketto/browse-fundraisers \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"category":"<string>","limit":"<integer>","offset":"<integer>"}'
```

### Get fundraiser comments

Get comments left on a fundraiser page. Returns a paginated list of approved comments with commenter entity info (name, avatar, type) and any replies. Not all fundraisers have comments — returns an empty comments array if none exist.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Max comments to return. |
| `slug` | string | Yes | Fundraiser slug (custom_tag from search/browse results). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/ketto/get-fundraiser-comments \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","slug":"<string>"}'
```

### Get fundraiser detail

Get full details for a specific fundraiser by its slug. Returns comprehensive campaign data including gallery images, basic info (beneficiary, disease, hospital), campaigner details with avatar and social links, cause category, rewards, raised statistics with weekly/daily trends, and campaign settings.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Fundraiser slug (custom_tag from search/browse results, e.g. 'my-baby-battles-for-her-life-and-we-need-your-support-to-save-her-1064511'). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/ketto/get-fundraiser-detail \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### Get fundraiser updates

Get updates posted for a fundraiser. Not all fundraisers have updates — returns an empty updates array if none exist. Updates include title, text content (HTML), creation time, update type, owner info with avatar, and associated comments on each update.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Max updates to return. |
| `slug` | string | Yes | Fundraiser slug (custom_tag from search/browse results). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/ketto/get-fundraiser-updates \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","slug":"<string>"}'
```

### Get homepage stats

Get platform-wide statistics from Ketto. Returns aggregate counts including monthly donors, total monetary contributions, number of lives impacted, and count of active campaigns on the platform.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/ketto/get-homepage-stats \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Get trending fundraisers

Retrieve currently trending fundraisers from Ketto. Returns a paginated list of campaigns marked as trending, each with basic campaign info, amount requested, raised totals, campaigner details, and cause category. Results are ordered by platform priority.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/ketto/get-trending-fundraisers \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Search fundraisers

Search for fundraisers by keyword. Uses MeiliSearch full-text index. Returns matching fundraiser hits with highlighted matches in _formatted fields and facet distribution showing result breakdown by category, tags, and address.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Max results to return per page. |
| `offset` | integer | No | Offset for pagination (number of items to skip). |
| `query` | string | Yes | Search keyword to match against fundraiser titles, descriptions, and metadata. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/ketto/search-fundraisers \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","offset":"<integer>","query":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://beta.paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://beta.paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://beta.paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://beta.paywithlocus.com/agent/index.md): every Locus agent page.