Sanity Client

sanity_client

A Dart client for connecting to Sanity.io projects and executing GROQ queries. It supports the HTTP semantics described here: https://www.sanity.io/docs/http-query

Features

  • Connect to a Sanity.io project and run GROQ.
  • Support all parameters allowed by the HTTP API of Sanity including apiVersion, perspective, explain, useCDN.
  • Has support for switching between URL Builders for images and files. This is useful if you are hosting your images on an external service like Cloudinary or ImageKit.

Usage

Create an instance of the SanityClient and give it a SanityConfig. Use the fetch method to run queries.

import 'package:sanity_client/sanity_client.dart';

Future<void> main() async {
  // using the SanityClient
  var client = SanityClient(
    SanityConfig(
      projectId: 'your_project_id',
      dataset: 'your_dataset',
      token: 'your_token',
      perspective: Perspective.published,
      explainQuery: true,
      useCdn: true,
      apiVersion: 'v2024-02-16',
    ),
  );

  // make a query
  var query = '''
    *[_type == "movie"]{
      _id,
      title,
      releaseDate,
      "director": crewMembers[job == "Director"][0].person->name
    }
  ''';

  final response = await client.fetch(query);
  print(response);
}

Libraries

client
exceptions
response_types
sanity_client
A Native Dart client to connect to Sanity.io and run GROQ queries.
url_builder