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 is an R SDK which provides many utilities for working with IPUMS extracts. ipumsr has support for working with traditional extracts from all of the IPUMS microdata collections plus IPUMS NHGIS.
Recent versions of ipumsr have introduced the ability to interact with the IPUMS API. Currently, ipumsr can be used to construct, submit, monitor and retrieve IPUMS USA and IPUMS CPS extracts via the IPUMS API using only 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 for the IPUMS NHGIS API functionality and support for the new features of IPUMS API Version 2 are both expected soon.
ipumspy is a Python SDK which provides many utilities for working with IPUMS microdata extracts in rectangular data structure from all of the IPUMS microdata collections. ipumspy currently has no support for aggregate/spatial IPUMS data collections.
Recent versions of ipumspy have introduced the ability to interact with the IPUMS API. Currently, ipumspy 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. Support in ipumspy for the microdata functionality of IPUMS API Version 2 is planned for release by summer 2023.