NeonCRM API v2 Rate Limits

API v2 requests are rate-limited to prevent abuse of the APIs. Exceeding a request method's rate limit will result in a 429 Too Many Requests response. Refer to the table below for the rate limits of each method.

What are rate limits?

Rate limits in the NeonCRM API define the number of simultaneous requests that can be submitted to an API at once.

In contrast to other APIs that define rate limits in terms of the number of requests per unit of time, the NeonCRM API defines rate limits in terms of number of requests per thread pool. In practical terms, this means API methods with longer processing times will allow fewer requests per unit of time compared to other methods with similar rate limits.

In general, if you expect your app to need to process many simultaneous requests to the NeonCRM API, we recommend implementing sleep functions or a queuing system in order to avoid 429 Too Many Requests responses.

Rate Limits

Request Method Rate Limit
POST /accounts/{id}/contacts 5
GET /accounts/{id}/contacts/{contactId} 5
POST /accounts/search 1
GET /accounts/search/outputFields 5
GET /accounts/search/searchFields 5
GET /addresses/{addressId} 5
GET /accounts/{id}/contacts 5
POST /accounts 5
PUT /accounts/{id} 5
PUT /accounts/{id}/contacts/{contactId} 5
DELETE /accounts/{id}/contacts/{contactId} 5
PATCH /accounts/{id}/contacts/{contactId} 5
POST /accounts/link 5
POST /accounts/unlink 5
POST /addresses 5
PUT /addresses/{addressId} 5
PATCH /addresses/{addressId} 5
DELETE /addresses/{addressId} 5
GET /accounts/{id}/donations 5
GET /accounts/{id}/pledges 5
GET /pledges/{id} 5
POST /pledges 5
PUT /pledges/{id} 5
DELETE /pledges/{id} 5
GET /pledges/{id}/pledgePayments 5
POST /pledges/{id}/pledgePayments 5
GET /pledges/{id}/pledgePayments/{paymentId} 5
DELETE /pledges/{id}/pledgePayments/{paymentId} 5
PATCH /pledges/{id} 5
GET /recurring 5
GET /recurring/{id} 5
POST /recurring 5
PUT /recurring/{id} 5
DELETE /recurring/{id} 5
PATCH /recurring/{id} 5
GET /campaigns 5
GET /campaigns/{id} 5
POST /donations/search 1
GET /donations/search/outputFields 5
GET /donations/search/searchFields 5
POST /campaigns 5
PUT /campaigns/{id} 5
PATCH /campaigns/{id} 5
DELETE /campaigns/{id} 5
POST /donations 5
GET /donations/{id} 5
PUT /donations/{id} 5
PATCH /donations/{id} 5
DELETE /donations/{id} 5
POST /events/search 1
DELETE /events/{id} 5
GET /events/search/searchFields 5
GET /events/search/outputFields 5
POST /events 5
GET /events/{id} 5
PUT /events/{id} 5
GET /events/{id}/tickets 5
GET /events/{id}/attendees 5
POST /events/{id}/tickets 5
GET /events/{id}/tickets/{ticketId} 5
PUT /events/{id}/tickets/{ticketId} 5
DELETE /events/{id}/tickets/{ticketId} 5
GET /events/{id}/eventRegistrations 5
PATCH /events/{id} 5
PATCH /events/{id}/tickets/{ticketId} 5
GET /eventRegistrations/{registrationId} 5
POST /eventRegistrations 5
PUT /eventRegistrations/{registrationId} 5
PATCH /eventRegistrations/{registrationId} 5
POST /eventRegistrations/calculate 5
DELETE /eventRegistrations/{registrationId} 5
GET /payments/creditCardTypes 5
GET /payments/tenders 5
GET /payments/processorSettings 5
GET /properties/individualTypes 5
GET /properties/companyTypes 5
GET /properties/addressTypes 5
GET /properties/countries 5
GET /properties/states 5
GET /properties/genders 5
GET /properties/prefixes 5
GET /properties/sources 5
GET /properties/relationTypes 5
GET /properties/funds 5
GET /properties/purposes 5
GET /properties/activityStatuses 5
GET /properties/solicitationMethods 5
GET /properties/eventCategories 5
GET /properties/eventTopics 5
GET /properties/systemTimezones 5
POST /webhooks 5
GET /webhooks 5
GET /webhooks/{id} 5
PUT /webhooks/{id} 5
DELETE /webhooks/{id} 5
PATCH /webhooks/{id} 5