Skip to main content
The Virtuous CRM+ API is the integration surface for the Virtuous Responsive Fundraising platform. It exposes the data that nonprofits rely on to manage their donor relationships: Contacts, Gifts, recurring giving schedules, Campaigns, Designations, custom fields, and the activity history that ties them together. This documentation is written for integration partners — fundraising platforms, payment processors, accounting systems, marketing tools, event and auction platforms, and other software vendors that need to read from or write to Virtuous on behalf of mutual nonprofit customers.

What you can build

The CRM+ API supports the integration patterns most commonly required of partner systems:
  • Sync donations into Virtuous — push Gifts from your platform into a nonprofit’s Virtuous instance so the donor record of truth stays complete.
  • Keep donor records current — create and update Contacts as donors register, update profiles, or change addresses in your system.
  • Read Virtuous data for downstream systems — pull donor and giving data to power marketing automation, accounting reconciliation, or reporting and analytics.
  • Build two-way syncs — combine reads, writes, and webhook subscriptions to keep your platform and Virtuous continuously consistent.
  • React to Virtuous events — receive real-time webhook notifications when Contacts or Gifts are created or updated in Virtuous, and act on them in your system.
If your integration involves donation forms, payment processing, or recurring giving flows that originate on a donor-facing payment surface, also review the Raise API. Many partner integrations span both products.

API at a glance

PropertyValue
Base URLhttps://api.virtuoussoftware.com
ProtocolHTTPS only — plain HTTP requests fail
AuthenticationAPI Key or OAuth 2.0 Bearer token in the Authorization header
Request formatapplication/json
Response formatapplication/json (including all error responses)
Rate limit5,000 requests per hour, per credential
The API does not support cross-origin requests on authenticated endpoints. All requests must originate from a server-side environment — never embed CRM+ credentials in client-side browser code.
There is no dedicated test environment for the CRM+ API. Every request made with a valid API key reads from and writes to the organization’s live data. Coordinate with your nonprofit customer to use a sandbox Virtuous organization for development work, or restrict early testing to read-only endpoints until your write paths are verified.

How the CRM+ data model works

A handful of resources do most of the work in a typical partner integration. Understanding how they relate is the difference between a clean integration and a duplicate-record cleanup project six months in.
  • Contact — the household or organization record. Contacts have one or more ContactIndividuals (the people inside the household) and one or more ContactAddresses.
  • Gift — a single donation. Every Gift belongs to a Contact and is allocated to one or more Designations (the Project or Campaign the gift supports).
  • Transaction endpoints — the recommended path for importing Gifts and Contacts from external systems. Transactions are placed into a holding state and processed in a nightly batch with intelligent contact-matching and deduplication. This is almost always safer than calling POST /api/Contact or POST /api/Gift directly.
The Virtuous CRM Data Model section covers each resource in detail before you start building.
When in doubt, prefer the Transaction endpoints (POST /api/Contact/Transaction and POST /api/GiftTransaction) over direct creation. They run Virtuous’s contact-matching logic to avoid duplicates and are the path the platform team recommends for partner integrations.

Where to go next

Quickstart

Get an API key and make your first authenticated call in under five minutes.

Authentication

API Key versus OAuth, how to obtain credentials, and how to attach them to requests.

Make Your First API Call

A step-by-step walkthrough with curl and JavaScript for the first request you should send.

Virtuous CRM Data Model

The Contact, Gift, and Designation hierarchy every integration depends on.

Common Workflows

Sync external donations, query records, and reconcile failed syncs.

Integration Recipes

Worked examples for Stripe, Mailchimp, fundraising platforms, and more.
Last modified on May 27, 2026