# Inrupt Solid Client
**Inrupt Solid Client** (`@inrupt/solid-client`) is the official JavaScript/TypeScript SDK from Inrupt for interacting with [[Solid]] pods. It provides high-level abstractions over the [[Solid Protocol]] for reading, writing, and managing data.
## Overview
- **Maintainer**: Inrupt (company co-founded by Tim Berners-Lee)
- **Language**: TypeScript (compiles to JavaScript)
- **Runtime**: Browser and Node.js
- **License**: MIT
- **Status**: Active, production-ready
## Key Features
- **Type-safe API**: First-class TypeScript support
- **RDF Abstractions**: Work with `Things`, `Datasets`, and properties without dealing with raw RDF
- **WAC Management**: Read and write [[Web Access Control (WAC)]] permissions
- **Resource Operations**: CRUD on Solid resources and containers
- **Authentication Helpers**: Pairs with `@inrupt/solid-client-authn-*` packages for [[Solid OIDC]]
- **Vocabulary Support**: Built-in helpers for common RDF vocabularies (FOAF, Schema.org, etc.)
## Companion Packages
| Package | Purpose |
|---------|---------|
| `@inrupt/solid-client` | Core data access |
| `@inrupt/solid-client-authn-browser` | Browser authentication |
| `@inrupt/solid-client-authn-node` | Node.js authentication |
| `@inrupt/solid-ui-react` | React components (see [[Solid React]]) |
| `@inrupt/vocab-common-rdf` | Common RDF vocabulary constants |
## Common Usage
```javascript
import {
getSolidDataset,
getThing,
getStringNoLocale,
} from "@inrupt/solid-client";
import { FOAF } from "@inrupt/vocab-common-rdf";
const dataset = await getSolidDataset(webId, { fetch });
const profile = getThing(dataset, webId);
const name = getStringNoLocale(profile, FOAF.name);
```
## Use Cases
- Building Solid-compliant applications
- Reading/writing data in user pods
- Managing access control programmatically
- Working with [[WebID]] profiles
- Foundation for [[Solid React]] and other Inrupt tooling
## Resources
- Documentation: https://docs.inrupt.com/developer-tools/javascript/client-libraries/
- API Reference: https://docs.inrupt.com/developer-tools/api/javascript/solid-client/
- GitHub: https://github.com/inrupt/solid-client-js
- npm: https://www.npmjs.com/package/@inrupt/solid-client
## References
- https://docs.inrupt.com/developer-tools/javascript/client-libraries/
## Related
- [[Solid]]
- [[Solid Protocol]]
- [[Solid React]]
- [[Solid.js]]
- [[Solid OIDC]]
- [[Web Access Control (WAC)]]