Client libraries / SDKs

Client libraries or SDKs are aimed to be wrappers around our API to drastically ease the integration process. They are aimed at providing easy to use methods to achieve common integration tasks, such as:

  • Retrieving product results (search, browse, autocomplete, recommendations and quizzes)
  • Dispatching behavioral events
  • Updating catalog data and setting configurations (server side only)

Constructor offers client libraries in a number of languages, both for use in the browser and server-side.

To get a better understanding of the benefits of using Constructor's client libraries, please be sure to read the Client library usage justification guide.

Constructor aims to provide the following with all of our open source client library offerings:

  • Strong unit and integration test coverage
  • Minimal dependency usage
  • Optimized bundle size
  • Comprehensive and living documentation
  • Lightweight footprint
  • Proactive security audits through automated code and dependency tree analysis

Client side / browser

JavaScript logo

JavaScript (+TypeScript & React Native)

TypeScript support is available. The JavaScript client library does not contain the capability to render out results within the view layer (DOM) - please see our UI libraries.

GitHub: https://github.com/Constructor-io/constructorio-client-javascript

npm: https://www.npmjs.com/package/@constructor-io/constructorio-client-javascript

Documentation: https://constructor-io.github.io/constructorio-client-javascript/index.html

Usage in React Native context: https://github.com/Constructor-io/constructorio-client-javascript/wiki/Utilization-in-a-DOM-less-environment

Server side

Node logo

Node (+TypeScript)

GitHub: https://github.com/Constructor-io/constructorio-node

npm: https://www.npmjs.com/package/@constructor-io/constructorio-node

Documentation: https://constructor-io.github.io/constructorio-node

Java icon

Java

GitHub: https://github.com/Constructor-io/constructorio-java

JitPack: https://jitpack.io/#Constructor-io/constructorio-java

Documentation: https://constructor-io.github.io/constructorio-java

Python

GitHub: https://github.com/Constructor-io/constructorio-python

PyPI: https://pypi.org/project/constructor-io

Documentation: https://constructor-io.github.io/constructorio-python

.NET icon

.NET

GitHub: https://github.com/Constructor-io/constructorio-netcore

NuGet: https://www.nuget.org/packages/constructor.io

Documentation: https://constructor-io.github.io/constructorio-netcore

Mobile

iOS / Swift

GitHub: https://github.com/Constructor-io/constructorio-client-swift

Documentation: https://constructor-io.github.io/constructorio-client-swift

Kotlin icon

Android / Kotlin

GitHub: https://github.com/Constructor-io/constructorio-client-android

JitPack: https://jitpack.io/#Constructor-io/constructorio-client-android

Documentation: https://constructor-io.github.io/constructorio-client-android