Introducing shotgrid-js-sdk — a TypeScript SDK for ShotGrid / Flow Production Tracking

Hi everyone!

I’d like to share shotgrid-js-sdk, a community-built TypeScript SDK I’m developing for Autodesk Flow Production Tracking (ShotGrid / Shotgun).

If you’re building pipeline services, internal tools, or web applications with JavaScript or TypeScript, the goal is to make ShotGrid integration more convenient—with typed queries, editor autocomplete, and less repetitive REST API code.

Some highlights:

  • Typed fluent queries with return types inferred from selected fields.
  • Familiar Python-style methods, including find(), findOne(), create(), and update().
  • OAuth token management, including token refresh.
  • Batch operations, summaries, schema reads, and iteration over large result sets.
  • Extensible entity types for your studio’s custom fields.
  • ESM and CommonJS support, with TypeScript declarations.

Here’s a small example of the fluent API in the development branch, using an initialized server-side client:

const assets = await sg
  .query('Asset')
  .where('project', 'is', { type: 'Project', id: 123 })
  .select('code', 'sg_status_list')
  .orderBy('code')
  .limit(50)
  .all()

If you’re coming from the Python SDK, you can also use familiar calls:

const asset = await sg.findOne(
  'Asset',
  [['code', 'is', 'Hero']],
  ['code', 'project'],
)

The repository includes examples for connecting a server-side ShotGrid client to React or Vue applications through your own API, including an oRPC + TanStack Query integration. These integrations are optional—the SDK itself doesn’t require those frameworks.

This is an independent community project and is still evolving. The development branch introduces a new API that isn’t yet included in the published npm release. Full Python SDK parity and file uploads/downloads are outside the current high-level API. Testing currently uses protocol fixtures, so feedback from real ShotGrid environments would be particularly valuable.

I’d love to hear from other ShotGrid developers: what would make a JavaScript/TypeScript SDK useful in your workflow? Suggestions about API design, missing features, and integration issues are welcome, as are issues and PRs.

GitHub — shotgrid-js-sdk

Thanks for taking a look!

This is great!
Will be sure to check it out!