IPUMS API Client SDK Libraries

In order to help foster onboarding of API users and reduce the learning curve, we aim to provide client software development kits (SDKs) in the form of language-specific libraries that allow users to work with our API in ways that are more native to / idiomatic for their language of choice.

We are currently focused on adding API support to the existing software development kit (SDK) tools ipumspy for Python and ipumsr for R. Our goal with these client SDK tools is to enable users to interact with the IPUMS API by simply making function/method calls, abstracting away all of the http and JSON details that happen behind the scenes. You can find more details about their current API support in the sections below.

These SDKs are open source software, and we invite collaboration from IPUMS users to help us build and extend these tools to make them as useful as possible for our community, while still providing stewardship and user support as we do with all of the other components of the IPUMS data collections.

For users that do prefer to interact directly with the API using http and JSON, and for users using other languages or where collection support is not yet available in the SDKs, we also provide API workflow examples using direct RESTful HTTP calls as well as complete OpenAPI specification reference material for our API.

ipumsr

ipumsr is an R SDK for working with IPUMS extracts.

ipumsr includes the ability to interact with the IPUMS API. It can be used to construct, submit, monitor and retrieve IPUMS USA and IPUMS CPS extracts using native R code.

As of March 2023, ipumsr has implemented support for Version 1 of the IPUMS API for the USA and CPS collections only. Support in ipumsr for the IPUMS NHGIS API functionality is expected soon.

ipumspy

ipumspy is a Python SDK for working with IPUMS microdata extracts. ipumspy currently has no support for aggregate/spatial IPUMS data collections.

ipumspy includes the ability to interact with the IPUMS API. It can be used to construct, submit, monitor and retrieve IPUMS USA and IPUMS CPS extracts via the IPUMS API using only native Python code.

As of March 2023, ipumspy has implemented support for Version 1 of the IPUMS API for the USA and CPS collections only.