OSS Tanbou

urql — start with a small GraphQL client and extend behavior through exchanges

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
8,977
Primary language
TypeScript
License
MIT
Repository last updated
Sep 9, 2026

Overview

urql is a family of GraphQL clients for React, Vue, Solid, Svelte, and other frameworks. It starts with simple document caching and lets applications add or replace exchanges for authentication, retry behavior, normalized caching, debugging, and other requirements.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Run queries and mutations with a simple document cache

Configure a GraphQL endpoint on a client and use framework bindings to execute operations with straightforward default caching.

Sources: [2][3]

Extend request behavior through exchanges

Exchanges can add authentication, retries, debugging, and Graphcache-based normalized caching as application needs grow.

Sources: [2][3]

For GraphQL apps that want incremental client complexity

It fits teams that want a small starting point and the option to add SSR or normalized caching later without replacing the client model.

Sources: [2]

Watch `@urql/core` deduplication and cache semantics

Multiple @urql/core versions can cause type and bundle issues. The default document cache and Graphcache also have different semantics, so choose based on consistency requirements.

Sources: [3][4]

Official sources

  1. [1]urql-graphql/urql repository(2026-09-21)
  2. [2]urql README(2026-09-21)
  3. [3]urql documentation(2026-09-21)
  4. [4]urql React package(2026-09-21)
  5. [5]urql MIT license(2026-09-21)
Supplemental curator note

urql is designed to start with a small document cache and add capabilities such as Graphcache when needed. The React `urql` package is 5.0.4 and currently expects `@urql/core` 6.x and React 16.8+. Duplicate `@urql/core` versions can cause TypeScript and bundle problems, so dependency resolution should be checked.

Try it in 3 steps

  1. 1

    Install urql for React

    Add the React package and GraphQL peer dependency.

    npm install urql graphql
  2. 2

    Create a client and provide it

    Configure the GraphQL endpoint and provide the client to the React tree.

    const client = createClient({ url: 'https://your-api.example/graphql' }); <Provider value={client}>…</Provider>
  3. 3

    Run the first query with useQuery

    Inspect fetching, error, and data results and observe the default document-cache behavior.

    useQuery({ query: "query { ... }" })
Check the official README

Growth

Growth trends · Last 30 days

8,977 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
0
Open PRs
16

Development activity is still being collected.

Built with

Categories and tags

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • graphql
  • graphql-client
  • exchange
  • graphql-clients
  • complex-apps
Stars
8,977
Forks
480
Watchers
87
Open issues
16
Contributors
248
Primary language
TypeScript
License
MIT
Repository last updated
Sep 9, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.