Skip to main content
The Givebutter API provides programmatic access to your fundraising data, enabling you to build custom integrations, automate workflows, and create seamless experiences between Givebutter and your other tools.

What You Can Do

The Givebutter API enables you to:

Access Campaign Data

Retrieve campaign details, goals, and performance metrics

Manage Supporters

Access donor information, contact details, and giving history

Track Transactions

Monitor donations, process refunds, and analyze revenue

Sync Event Data

Integrate ticketing and event registration with your systems

Getting Started in 5 Minutes

1

Get Your API Key

Log into your Givebutter Dashboard and navigate to Settings > API Keys to generate your API key.
2

Make Your First Request

Test your API key with a simple request to fetch your campaigns.
3

Build Your Integration

Use the API endpoints to build custom workflows and integrations.

Quick Example

Here’s a simple example to get you started:
curl https://api.givebutter.com/v1/campaigns \
  -H "Authorization: Bearer YOUR_API_KEY"

Base URL

All API requests should be made to:
https://api.givebutter.com/v1
All API requests must be made over HTTPS. Calls made over plain HTTP will fail.

API Versions

The Givebutter API uses versioning to ensure backward compatibility. The current version is v1.
VersionStatusBase URL
v1Currenthttps://api.givebutter.com/v1
We’ll announce new versions and deprecations well in advance through our developer changelog and email notifications.

Request & Response Format

The Givebutter API uses JSON for both requests and responses.

Request Format

  • Content-Type: application/json
  • Accept: application/json
  • All POST and PUT requests must include a JSON body

Response Format

All responses are returned as JSON objects with the following structure:
{
  "data": {
    // Your requested data
  },
  "meta": {
    "pagination": {
      "current_page": 1,
      "per_page": 25,
      "total": 100
    }
  }
}

Rate Limits

To ensure platform stability and fair usage, the Givebutter API implements rate limiting:
TierRequests per MinuteRequests per Hour
Standard603,000
Enterprise30015,000
Rate limit information is included in response headers: - X-RateLimit-Limit: Maximum requests allowed - X-RateLimit-Remaining: Requests remaining in current window - X-RateLimit-Reset: Unix timestamp when the rate limit resets

Handling Rate Limits

When you exceed the rate limit, you’ll receive a 429 Too Many Requests response:
{
  "error": {
    "type": "rate_limit_error",
    "message": "Rate limit exceeded. Please wait before making another request.",
    "code": 429
  }
}
Best Practices:
  • Implement exponential backoff when you receive 429 responses
  • Cache responses when possible to reduce API calls
  • Use webhooks instead of polling for real-time updates
  • Batch requests when the API supports it

Authentication

The Givebutter API uses API keys for authentication. Include your API key in the Authorization header of all requests:
Authorization: Bearer YOUR_API_KEY

Learn More

Read the complete authentication guide for details on obtaining and using API keys securely.

Common Use Cases

Use the Transactions API to automatically sync donation data to your CRM or database. Set up webhooks to receive real-time notifications when donations occur.
Pull campaign and transaction data to create custom analytics dashboards tailored to your organization’s reporting needs.
Retrieve donor information and transaction details to trigger personalized thank you emails, letters, or text messages through your communication tools.
Connect Givebutter tickets with your event management platform to sync attendee lists, check-in status, and ticket sales in real-time.
Extract payout and transaction data for reconciliation with your accounting systems or to generate custom financial reports.
Use the API to create mobile apps that display campaign progress, enable donations, or provide supporter management on the go.

SDKs & Libraries

While the Givebutter API is RESTful and works with any HTTP client, we’re working on official SDKs to make integration even easier:

JavaScript/Node.js

Coming soon

Python

Coming soon

PHP

Coming soon

Ruby

Coming soon
For now, you can use any HTTP client library in your preferred language. Check our code examples throughout the documentation.

Webhooks

Webhooks allow you to receive real-time notifications when events occur in your Givebutter account:
  • New donations
  • Campaign updates
  • Ticket purchases
  • Contact changes
Coming Soon - Webhook documentation is currently in development. Contact [email protected] if you need webhook integration.

Testing

Test vs Production Keys

Givebutter provides separate API keys for testing and production:
  • Test keys: Begin with test_ and interact with test data
  • Live keys: Begin with live_ and interact with production data
Always use test keys during development and never commit API keys to version control.

Sandbox Environment

Test your integration safely without affecting production data by using test API keys. All test transactions can be refunded or deleted without impacting real donors.

Support & Resources

API Changelog

Stay up to date with API changes, new features, and deprecations:
  • Subscribe to updates: Contact [email protected] to join our developer mailing list
  • Breaking changes: Announced at least 90 days in advance
  • New features: Added to existing versions without breaking changes

Best Practices

  • Never expose API keys in client-side code
  • Rotate API keys periodically
  • Use environment variables for API keys
  • Enable IP whitelisting when available
  • Always use HTTPS
  • Cache responses when appropriate - Use pagination for large datasets - Implement proper error handling - Use webhooks instead of polling - Monitor your rate limit usage
  • Check HTTP status codes - Parse error messages for details - Implement retry logic with exponential backoff - Log errors for debugging - Handle network timeouts gracefully
  • Store IDs rather than full objects
  • Sync incrementally using timestamps
  • Handle deleted records appropriately
  • Validate data before sending requests
  • Use appropriate data types

Next Steps

1

Authenticate

Learn how to authenticate with the API using your API key.
2

Explore Endpoints

Browse available endpoints like Campaigns, Transactions, and Contacts.
3

Understand Core Concepts

Read about pagination and error handling.
4

Build Your Integration

Start building! Reach out to [email protected] if you need help.

Terms of Service

By using the Givebutter API, you agree to our Terms of Service and Privacy Policy. Please ensure your use of the API complies with all applicable laws and regulations.