---
name: "unbrowse-openlibrary.org"
description: "API skill for openlibrary.org"
runtime: unbrowse
requires: ["unbrowse@>=6.7.0"]
domain: "openlibrary.org"
skill_id: "dkit6mkV6c9SFLmN1ZdEF"
intent_signature: "openlibrary.org"
intents:
  - "openlibrary.org"
  - "get openlibrary work"
  - "search openlibrary books"
  - "browse openlibrary.org"
endpoint_count: 8
version: "1.1.0"
updated_at: "2026-06-03T20:16:12.638Z"
publisher_agent_id: "848cb6762e0cbfd259a54650fa0aed08"
domain_verified: false
---
# openlibrary.org

API skill for openlibrary.org

## Provenance

- **Publisher**: `848cb6762e0c…`
- **Domain control**: not verified — `/.well-known/unbrowse-verify-*` HTTP probe

## Prerequisite

This skill is executed through the **unbrowse** runtime. Install once:

```bash
npx unbrowse@latest setup
```

unbrowse handles auth (browser cookies + JA4 TLS impersonation), caching, and the marketplace publish flywheel for every call. Direct curl will be blocked by anti-bot on most of these endpoints.

## Quick start

```bash
unbrowse resolve "openlibrary.org"
```

`resolve` returns a ranked shortlist; the agent picks an endpoint and calls execute.

## Endpoints (8)

### Captured search form artifact for get openlibrary work

- **Method**: `GET`
- **URL**: `https://openlibrary.org/works/OL45804W/Fantastic_Mr_Fox`
- **Endpoint ID**: `uDet_DSafo0h5UreIeL3n`
- **Idempotency**: safe
- **Verified**: failed (reliability 0.80)

**Call it via unbrowse:**

```bash
unbrowse execute --skill dkit6mkV6c9SFLmN1ZdEF --endpoint uDet_DSafo0h5UreIeL3n
```

### Captured search form artifact for get openlibrary work

- **Method**: `GET`
- **URL**: `https://openlibrary.org/works/OL27448W/The_Lord_of_the_Rings`
- **Endpoint ID**: `3MKEJWTqTfPRIbbje1Saj`
- **Idempotency**: safe
- **Verified**: failed (reliability 0.80)

**Call it via unbrowse:**

```bash
unbrowse execute --skill dkit6mkV6c9SFLmN1ZdEF --endpoint 3MKEJWTqTfPRIbbje1Saj
```

### Public OpenLibrary work API for OL45804W

- **Method**: `GET`
- **URL**: `https://openlibrary.org/works/{work_id}.json`
- **Endpoint ID**: `kZwfjRnjtaRjRfK-_4ksO`
- **Idempotency**: safe
- **Verified**: verified (reliability 0.90)

**Call it via unbrowse:**

```bash
unbrowse execute --skill dkit6mkV6c9SFLmN1ZdEF --endpoint kZwfjRnjtaRjRfK-_4ksO
```

### Public OpenLibrary work API for OL45804W

- **Method**: `GET`
- **URL**: `https://openlibrary.org/works/OL45804W.json`
- **Endpoint ID**: `CURriKeuD9njnTcE3ZoTx`
- **Idempotency**: safe
- **Verified**: verified (reliability 0.85)

**Call it via unbrowse:**

```bash
unbrowse execute --skill dkit6mkV6c9SFLmN1ZdEF --endpoint CURriKeuD9njnTcE3ZoTx
```

### Public OpenLibrary work API for OL27448W

- **Method**: `GET`
- **URL**: `https://openlibrary.org/works/OL27448W.json`
- **Endpoint ID**: `xPRHHn5fCTjHqyR5pcLnj`
- **Idempotency**: safe
- **Verified**: verified (reliability 0.85)

**Call it via unbrowse:**

```bash
unbrowse execute --skill dkit6mkV6c9SFLmN1ZdEF --endpoint xPRHHn5fCTjHqyR5pcLnj
```

### Searches SearchFacets

- **Method**: `GET`
- **URL**: `https://openlibrary.org/partials/SearchFacets.json?data={data}`
- **Endpoint ID**: `nAP1sc8j0GSddL_XKOH_A`
- **Idempotency**: safe
- **Verified**: unverified (reliability 0.50)

**Call it via unbrowse:**

```bash
unbrowse execute --skill dkit6mkV6c9SFLmN1ZdEF --endpoint nAP1sc8j0GSddL_XKOH_A
```

### Returns rendered page for "search openlibrary books" on https://openlibrary

- **Method**: `GET`
- **URL**: `https://openlibrary.org/search?q={q}`
- **Endpoint ID**: `12Pm4I7C8TTdHqqw3tqG3`
- **Idempotency**: safe
- **Verified**: verified (reliability 1.00)

**Call it via unbrowse:**

```bash
unbrowse execute --skill dkit6mkV6c9SFLmN1ZdEF --endpoint 12Pm4I7C8TTdHqqw3tqG3
```

### Returns resource details with props, pageprops, and page

- **Method**: `GET`
- **URL**: `https://openlibrary.org/__ssr_data__/nextjs`
- **Endpoint ID**: `xFBIKUkaNkpN7FPJtTWJ7`
- **Idempotency**: safe
- **Verified**: unverified (reliability 0.50)

**Call it via unbrowse:**

```bash
unbrowse execute --skill dkit6mkV6c9SFLmN1ZdEF --endpoint xFBIKUkaNkpN7FPJtTWJ7
```

## Why this needs unbrowse

- **Auth**: most of these endpoints require session cookies. `unbrowse execute` pulls them from your real browser (Chrome/Arc/Brave/Edge/Vivaldi/Opera/Dia) and injects them.
- **TLS impersonation**: requests go through libcurl-impersonate with a Chrome 131 JA4 fingerprint. Anti-bot vendors (Cloudflare, PerimeterX, Datadome, Akamai) reject the default Node/Python TLS fingerprints.
- **Cache + flywheel**: every execute hits the marketplace cache first, then back-fills observed routes if the call goes through.

---
*Generated from observed routes by unbrowse v1.1.0. Skill ID: `dkit6mkV6c9SFLmN1ZdEF`.*
