EnableMe API
EnableMe is crowdfunding for people who really need it—again. Our API provides programmatic access to campaigns, creator profiles, donation modals, and our proprietary Scam Score algorithm. Perfect for building charitable guilt into your applications.
What you can build
- Campaign aggregators - Display EnableMe campaigns on your site
- Donation widgets - Embed our payment modal anywhere
- Scam detection tools - Access our Scam Score API
- Partner integrations - Run campaigns for your organization
- Mad-libs generators - Create procedurally-generated campaigns
Quickstart
Get started with the EnableMe API in minutes. No authentication required for read access.
List All Campaigns
# Get all active campaigns
curl "https://api.vagibond.com/enableme/campaigns"
Response
{
"count": 47,
"totalRaised": 2847.63,
"campaigns": [
{
"id": "50-nickels",
"title": "Help Me Buy 50 Nickels",
"goal": 200,
"raised": 187,
"backers": 23,
"daysLeft": 7,
"scamScore": 0.42,
"category": "personal",
"creator": {
"name": "Rusty McCartwheel",
"campaigns": 12,
"successRate": 0.17
}
}
]
}
Authentication
The EnableMe API supports both public and authenticated access:
| Access Level | Rate Limit | Features |
|---|---|---|
| Public | 100 requests/hour | Read campaigns and creators |
| Authenticated | 1,000 requests/hour | Read + embed widgets + webhooks |
| Partner | 10,000 requests/hour | All features + custom campaigns + partner branding |
# Authenticated request
curl -H "Authorization: Bearer enbl_your_api_key" \
"https://api.vagibond.com/enableme/campaigns"
List Campaigns
Retrieve all active campaigns with optional filtering and sorting.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
category |
string | Filter by category: medical, personal, emergency, legal, entrepreneurial, dying-wishes |
sort |
string | Sort by: trending, newest, ending, most-funded, highest-scam |
partner |
string | Filter by partner organization (e.g., takeawish) |
min_scam |
float | Minimum scam score (0.0-1.0) |
max_scam |
float | Maximum scam score (0.0-1.0) |
featured |
boolean | Only return featured campaigns |
limit |
integer | Max results (default: 20, max: 100) |
offset |
integer | Pagination offset |
Get Campaign Details
Retrieve full details for a specific campaign including story, rewards, and updates.
Response
{
"id": "malt-liquor",
"title": "Emergency Malt Liquor Fund",
"slug": "emergency-malt-liquor-fund",
"type": "handcrafted",
"goal": 8.99,
"raised": 8.99,
"backers": 1,
"daysLeft": 0,
"status": "funded",
"category": "emergency",
"scamScore": 0.12,
"featured": true,
"badges": ["funded", "verified-honest"],
"story": "<p>Look, I'm not going to lie to you...</p>",
"creator": {
"id": "boxcar-pete",
"name": "Boxcar Pete",
"avatar": "hobo_m_white_60_1",
"location": "Chicago, IL",
"campaigns": 47,
"successRate": 1.0
},
"rewards": [
{
"amount": 5,
"title": "Enabler",
"description": "You're part of the problem now",
"backers": 1
}
],
"updates": [
{
"date": "2024-01-18",
"title": "Funded!",
"content": "Mission accomplished. See you next week."
}
],
"createdAt": "2024-01-18T07:00:00Z"
}
Get Campaign Updates
Retrieve the update timeline for a campaign.
Generate Campaign
Use our mad-libs engine to generate procedural campaigns. Perfect for testing, demos, or when you need an endless supply of questionable fundraisers.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
template |
string | Template type: medical_emergency, escape_plan, legal_trouble, entrepreneurial_dream, basic_needs, recurring_emergency, spite_campaign, meta_scam, honest_campaign |
category |
string | Generate for specific category |
count |
integer | Number of campaigns to generate (max: 10) |
seed |
integer | Random seed for reproducible results |
Example Response
{
"id": "gen-1705123456789-abc123",
"type": "generated",
"templateKey": "escape_plan",
"title": "URGENT: Bus Ticket Out of Town",
"story": "<p>Before you judge, I need to leave Seattle, WA as soon as possible...</p>",
"goal": 127,
"raised": 0,
"scamScore": 0.73,
"creator": {
"name": "Earl \"Quick-Exit\" Bottomsworth",
"location": "behind the Denny's, Seattle, WA"
}
}
List Creators
Retrieve campaign creators with stats and reputation.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
sort |
string | campaigns, success_rate, total_raised, scam_score |
min_campaigns |
integer | Minimum campaign count |
Get Creator Profile
Retrieve a creator's profile and campaign history.
Donation Modal
Embed the EnableMe donation modal on your site. Includes our signature processing messages and... creative error handling.
JavaScript SDK
<!-- Include the EnableMe SDK --> <script src="https://enableme.vagibond.com/enableme-modal.js"></script> <!-- Open modal programmatically --> <button onclick="EnableMeModal.open('malt-liquor')"> Donate Now </button>
Modal Events
// Listen for modal events document.addEventListener('enableme:open', (e) => { console.log('Modal opened for:', e.detail.campaignId); }); document.addEventListener('enableme:close', () => { console.log('Modal closed'); }); document.addEventListener('enableme:donate', (e) => { // Note: donations always "fail" or have a twist console.log('Donation attempted:', e.detail); });
Campaign Embed
Embed campaign cards directly in your website.
Single Campaign Card
<!-- Embed a campaign card -->
<div class="enableme-campaign"
data-campaign="50-nickels"
data-show-donate="true"></div>
<script src="https://enableme.vagibond.com/embed.js"></script>
Campaign Grid
<!-- Embed multiple campaigns -->
<div class="enableme-grid"
data-category="emergency"
data-limit="6"
data-sort="highest-scam"></div>
<script src="https://enableme.vagibond.com/embed.js"></script>
Embed Options
| Attribute | Description |
|---|---|
data-campaign |
Campaign ID for single card embed |
data-category |
Filter grid by category |
data-partner |
Filter by partner (e.g., takeawish) |
data-limit |
Max campaigns in grid |
data-sort |
Sort order |
data-show-donate |
Show donate button (true/false) |
data-theme |
light or dark |
Partner Mode
Partner organizations can run branded campaigns through EnableMe. Currently integrated with Take a Wish Foundation for their "Dying Wishes" program.
Partner Campaign Structure
{
"id": "takeawish-tiger-hunt",
"type": "partner",
"partner": "takeawish",
"title": "Hunt the Last Bengal Tiger",
"category": "dying-wishes",
"creator": {
"name": "Take a Wish Foundation",
"location": "501(c)(3)PO Nonprofit"
},
"child": {
"name": "Timothy",
"age": 6,
"condition": "Leukemia",
"image": "Timmy"
},
"goal": 500000,
"scamScore": 0.03,
"badges": ["partner", "urgent"]
}
Partner Embed
<!-- Set partner context --> <script> window.ENABLEME_PARTNER = 'takeawish'; </script> <!-- Grid will only show partner campaigns --> <div class="enableme-grid"></div> <script src="https://enableme.vagibond.com/embed.js"></script>
Categories
EnableMe campaigns are organized into categories:
| Category | ID | Description |
|---|---|---|
| Medical | medical |
Health-related campaigns (real or imagined) |
| Personal | personal |
General quality-of-life requests |
| Emergency | emergency |
Urgent situations (allegedly) |
| Legal Defense | legal |
Court fees, fines, bail, etc. |
| Entrepreneurial | entrepreneurial |
"Business" ventures and investments |
| Dying Wishes | dying-wishes |
Partner category for Take a Wish Foundation |
Scam Scores
Every campaign includes a Scam Score (0.0-1.0) calculated using our proprietary algorithm. Higher scores indicate higher probability of... creative fund usage.
Score Factors
- Goal amount - Higher goals increase suspicion
- Category - "Personal" and "entrepreneurial" score higher
- Creator history - Many campaigns with low success rates
- Overfunding - Campaigns that exceed goals are suspicious
- Update patterns - Many updates with little progress
- Vague language - Story analysis for red flags
Score Ranges
| Range | Label | Interpretation |
|---|---|---|
| 0.0 - 0.2 | Probably Legit | Unusually honest for EnableMe |
| 0.2 - 0.5 | Standard | Normal EnableMe campaign |
| 0.5 - 0.8 | Suspicious | Proceed with caution |
| 0.8 - 1.0 | Scam Likely | Gets the "Scam Likely" badge |
Webhooks
Subscribe to campaign events (Partner tier required).
Available Events
| Event | Description |
|---|---|
campaign.created |
New campaign created |
campaign.funded |
Campaign reached goal |
campaign.updated |
Campaign posted an update |
donation.attempted |
Someone tried to donate |
donation.failed |
Donation "failed" (70% of attempts) |
donation.success |
Donation "succeeded" (with twist) |
Changelog
- Campaign listing and detail endpoints
- Creator profiles and stats
- Mad-libs campaign generation
- Scam Score algorithm
- Donation modal SDK
- Campaign embed widgets
- Take a Wish Foundation partner integration
- Webhook support for partner tier