Constituent List endpoint missing records?

Hello,

We are having an issue with the bulk Constituent List endpoint (https://api.sky.blackbaud.com/constituent/v1/constituents), in which many records appear to be missing (many thousands). We are not filtering, and are including include_deceased,include_inactive, to ensure we are not missing anything. Oddly the sky api itself confirms these records indeed exist via other constuituent api endpoints (educationlist,phonelist,relationships,addresses etc) as we get consitituent id's in these lists which are not returned from the bulk (constituentlist) call, but again can be hit directly via the https://api.sky.blackbaud.com/constituent/v1/constituents/{constituent_id} endpoint

We are in the process of vetting the api system as we migrating from legacy onsite re7 to renxt.

Any help especially from a BlackBaud engineer would be appreciated. Let us know if more information is needed.

Thank you

Comments

  • BUMP – We have 67,571 MISSING from consituentlist (bulk call) !!! – Again these can all be hit directly – whats going on here?

  • Hello John T,

    Please use web view and build list for all constituents. Export the constituents list from web view. Also please use database view query the system.

  • Thank you we have done all of this with the customer support team, and they are aware of the issue.

    Support indicated we should open a topic here to speak with a developer.

    Again if you read my request, these additional constituents (totalling 67,571), are not found in the exports, rather from ancillary api calls (address,relationship,education etc). And again these missing records (missing from the bulk endpoint) are accessible via the inidividual consituent endpoint and even return data. Are/have you experienced this issue as well Sivaiah?

  • John T,

    I pulled all constituents list using APIs and never experienced this kind of issue. Also pulled information using database view using queries.

    935b2275bae786a9fa879d52862d1fb8-huge-im
  • It does paginate the data from what I understand and I think you only get around 500 records per call in which it sends a link for you to get the next 500. Not sure if this is something that was brought to your attention. There is a parameter at the top of the JSON next_link": "https://api.sky.blackbaud.com/constituent/v1/constituents?offset=500"

  • @John T we are also having this issue - so far it seems to be where the user is attempting to use a fixed list but we don't know if it's limited to that, it could be coincidental that is the case and I thought I saw some documentation that fixed weren't supported but then I would think we'd get no results not almost all but with thousands dropped. In our case, it is sequential segments when sorted alpha. I've been digging in and was torn between it being a fixed list root issue and/or how our dev is doing pagination. Have you had any further progress on your end?

  • Anthony Gallo
    Anthony Gallo Blackbaud Employee
    Tenth Anniversary Kudos 3 Name Dropper Participant

    @John T
    I think I was able to identify your database and it looks like there is a high number of non-constituent records which are not returned in the constituent list endpoint. These records are brought back in the single constituent endpoint with a “is_constituent” field to signify if they are a full constituent or a non constituent. This is a recent update we pushed to just the single record call and we have not yet added it to the list call.

  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary Kudos 5 Facilitator 3 Raiser's Edge NXT Fall 2025 Product Update Briefing Badge

    @John T
    I use the Constituent List API to get all constituents, we have ~450K constituent records in RE and were able to get all of them and store them into our data warehouse on Azure.

    Here's a few things that you should note.

    731b5819973a241b65a808f3ef6c002c-huge-im
  • @John T
    Did you ever get an answer for this?

  • @John T
    I think I was able to identify your database and it looks like there is a high number of non-constituent records which are not returned in the constituent list endpoint. These records are brought back in the single constituent endpoint with a “is_constituent” field to signify if they are a full constituent or a non constituent. This is a recent update we pushed to just the single record call and we have not yet added it to the list call.

    Are there plans to add this to the list endpoint in the future?

  • @Alex Wong Thank you Alex for this detailed endpoint! I was able to pull all 268,000 of our Constituents using the query parameter include_inactive=True and sort=date_added. Initially i was only pulling 117,000 without the 2 parameters. I'm using python to pull the csv and planning to save it to our SharePoint Shared Document folder. I was wondering if you have a PowerAutomate template that you can share to pull all the constituents using the same endpoint.

  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary Kudos 5 Facilitator 3 Raiser's Edge NXT Fall 2025 Product Update Briefing Badge

    @Oscar Ira
    I have a bunch of power autoamte flow that does data pull for various records in RE and FE, however, they are not templates.

    What is your purpose of getting the data? depending on your use-case, saving to SharePoint may not be best.

  • @Alex Wong - Sorry, it is a PowerAutomate Flow that loops all the Constituent and Gifts and saves them in csv file. I want to see how to generate/incorporate the access token and the refresh token in the flow. The task given to me is to drop the csv files I pulled from BB API for Constituents and Gifts in Shared SharePoint folder and another team will pick those data create a flat file database in our Azure Data Factory. From Azure Data Factory, another team will use them to generate reports using PowerBI.

  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary Kudos 5 Facilitator 3 Raiser's Edge NXT Fall 2025 Product Update Briefing Badge

    @Oscar Ira
    access token and refresh token is taken care of when you use Blackbaud's connector, you do not need to worry about it.

    The process you explain is wasting more resource than needed.

    You can directly pull data from RE NXT in Power Automate and save into Azure Data Factory, instead of saving to SharePoint as csv file, THEN process the csv into azure data factory.

  • @Alex Wong - Thanks Alex! That's what I thought. The infrastructure was built by someone else in our organization.

    So in that case, if you can share a Power Automate flow that saves data into Azure Data Factory that I could test out that would be wonderful!

  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary Kudos 5 Facilitator 3 Raiser's Edge NXT Fall 2025 Product Update Briefing Badge

    @Oscar Ira
    I don't save my data in azure data factory, I save into azure SQL server database.

  • @Alex Wong -
    - Okay then the PowerAutomate flow to SQL Server Database in ADF?