finds.dev← search

// the find

contentful/contentful.js

★ 1,290 · TypeScript · MIT · updated Jun 2026

JavaScript library for Contentful's Delivery API (node & browser)

The official Contentful JavaScript SDK for their Content Delivery API. It's a read-only client — you fetch content, you don't write it. If you're building anything on top of Contentful (website, app, whatever), this is the library you use.

The chain modifier API introduced in v10 (`client.withoutUnresolvableLinks.withAllLocales.getEntries()`) is genuinely well-designed — it solves a real problem with typed responses without polluting the options object. The TypeScript coverage is thorough, including type-level tests in `test/types/` that verify return types, not just runtime behavior. Built-in retry with exponential backoff for 429s and 500s is handled correctly and configurable. The ADR docs in `docs/ADRs/` show real engineering decisions (why axios, why dual ESM/CJS, bundle size limits) — unusual and useful for a vendor SDK.

It's still axios under the hood in 2026, which is a choice. Fetch is available everywhere axios is used here, and the bundle would be smaller without it. The link resolution behavior is conceptually messy — four different chain modifiers to handle one feature (resolved, unresolved, missing-removed, no-resolution) suggests the underlying API design was awkward and the SDK is papering over it. No caching by design (their own FAQ confirms this), which means every `getEntries()` call hits the network — fine for small sites, a problem at scale. Integration tests require live Contentful credentials, so you can't run the full test suite without a Contentful account.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →