# Fundrazr — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://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.

> Search and discover FundRazr crowdfunding campaigns by category, then access detailed information about campaign progress, activity, highlights, and organizer profiles. Get comprehensive insights into fundraising campaigns to track funding goals, supporter engagement, and campaign updates all in one place.

**Category:** Finance & Markets | **Website:** [fundrazr.com/](https://fundrazr.com/) | **Docs:** [parse.bot/marketplace/81e77b22-6bfd-4e80-b8df-bcb2e67d7322/fundrazr-com-api](https://parse.bot/marketplace/81e77b22-6bfd-4e80-b8df-bcb2e67d7322/fundrazr-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-fundrazr-com-api-81e77b22/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_campaign_activity

Get recent donations and contributions for a campaign. Returns activity entries including donor names, amounts, messages, and timestamps. Requires the internal campaignId from get_campaign_details.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `campaign_id` | string | Yes | Internal campaign ID obtained from get_campaign_details response (campaignId field). |
| `limit` | integer | No | Maximum number of activity entries to return. |
| `order` | string | No | Order of activity entries. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-fundrazr-com-api-81e77b22/get_campaign_activity \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"campaign_id":"<string>","limit":"<integer>","order":"<string>"}'
```

### get_campaign_details

Fetch full details for a specific campaign by its slug. Returns comprehensive campaign data including goal, story, statistics, owner info, deadline, and configuration. The campaignId in the response is needed for activity and highlights endpoints.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Campaign slug from the campaign URL (e.g. '26Hurrithon' from fundrazr.com/26Hurrithon). Obtainable from search_campaigns results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-fundrazr-com-api-81e77b22/get_campaign_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### get_campaign_highlights

Get highlights for a campaign including top donations and milestones. Returns activity entries ordered by significance. Requires the internal campaignId from get_campaign_details.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `campaign_id` | string | Yes | Internal campaign ID obtained from get_campaign_details response (campaignId field). |
| `limit` | integer | No | Maximum number of highlight entries to return. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-fundrazr-com-api-81e77b22/get_campaign_highlights \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"campaign_id":"<string>","limit":"<integer>"}'
```

### get_organizer_profile

Get public profile information and associated campaigns for a campaign organizer. Returns the organizer's name, metadata (type, location, stats, member since), and their list of campaigns.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `profile_slug` | string | Yes | Profile slug from the organizer's profile URL (e.g. 'hurricane-swim-club' from fundrazr.com/profiles/hurricane-swim-club). Obtainable from get_campaign_details owner.homeUrl field by stripping the '/profiles/' prefix. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-fundrazr-com-api-81e77b22/get_organizer_profile \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"profile_slug":"<string>"}'
```

### list_categories

List all available campaign categories on FundRazr. Returns the complete set of category names accepted by the search_campaigns endpoint's category parameter.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-fundrazr-com-api-81e77b22/list_categories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### search_campaigns

Search for campaigns on FundRazr with optional keyword, category filtering, and sorting. Returns paginated results. Each campaign summary includes title, organizer, amount raised, location, and days left. Use the slug from results to fetch full campaign details.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category` | string | No | Category name to filter by. |
| `page` | integer | No | Page number for pagination. |
| `query` | string | No | Search keyword to filter campaigns. |
| `sort_type` | string | No | Sort order for results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-fundrazr-com-api-81e77b22/search_campaigns \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category":"<string>","page":"<integer>","query":"<string>","sort_type":"<string>"}'
```
