# Javascript SDK

The JavaScript Client Libraries provide a suite of JavaScript Application Programming Interfaces (APIs) to build [Solid](https://solidproject.org/TR/protocol) applications.

### Inrupt’s JavaScript Client Libraries

Inrupt’s JavaScript Client Libraries provide APIs, such as for read/write/authenticate/access management operations, that conform to the [Solid specifications](https://solidproject.org/TR/protocol).

<table><thead><tr><th width="287.5">Library</th><th>Description</th></tr></thead><tbody><tr><td><a href="https://inrupt.github.io/solid-client-js/"><strong><code>solid-client</code></strong></a></td><td><p>A client library for accessing data stored in Solid Pods. It is designed to make it easy for developers to create applications on top of Inrupt's <a href="/pages/7PKZaxnnUDGdJ8gPDOqL#enterprise-solid-server-ess">Enterprise Solid Server</a>.</p><p><strong><code>solid-client</code></strong> provides an abstraction layer on top of both <a href="/pages/7PKZaxnnUDGdJ8gPDOqL#non-rdf-resource">Solid</a> and <a href="/pages/Ejga65cCzJE3HowMncgm">Resource Description Framework (RDF)</a> principles and is compatible with the <a href="https://rdf.js.org/">RDF/JS specification</a>.</p><p>You can use <strong><code>solid-client</code></strong> in <a href="https://nodejs.org">Node.js</a> using <a href="http://www.commonjs.org">CommonJS</a> modules and in the browser with a bundler like <a href="https://webpack.js.org">Webpack</a>, <a href="https://rollupjs.org">Rollup</a>, or <a href="https://parceljs.org">Parcel</a>.</p></td></tr><tr><td><strong><code>solid-client-authn</code></strong></td><td><p>A set of libraries for authenticating to Solid identity servers:</p><ul><li><a href="https://inrupt.github.io/solid-client-authn-js/browser/"><strong><code>solid-client-authn-browser</code></strong></a> for use in a browser.</li><li><a href="https://inrupt.github.io/solid-client-authn-js/node/"><strong><code>solid-client-authn-node</code></strong></a> for use in Node.js.</li></ul></td></tr><tr><td><a href="https://inrupt.github.io/solid-client-access-grants-js/"><strong><code>solid-client-access-grants</code></strong></a></td><td>A client library for managing Access Requests and Grants.</td></tr><tr><td><a href="/pages/OhEYjpSYWWP9O9iheZ6d"><strong><code>solid-client-notifications</code></strong></a></td><td>A client library for subscribing to change notifications.</td></tr><tr><td><strong><code>vocab-solid</code></strong></td><td>A library that provides convenience objects for many Solid-related identifiers. Previously released as <strong><code>vocab-solid-common</code></strong>.</td></tr><tr><td><strong><code>vocab-inrupt-core</code></strong></td><td>A library that provides convenience objects for Inrupt-related identifiers. Previously released as <strong><code>vocab-inrupt-common</code></strong>.</td></tr></tbody></table>

### Node.js Support

Inrupt’s Javascript Client libraries support [Active/Maintenance LTS releases for Node.js](https://nodejs.org/en/about/releases/).

### Browser Support

The JavaScript Client Libraries support the latest 2 stable releases of the following browsers:

<table data-header-hidden><thead><tr><th width="143.5"></th><th></th></tr></thead><tbody><tr><td>Desktop</td><td><p>Google Chrome</p><p>Mozilla Firefox</p><p>Microsoft Edge</p><p>Apple Safari</p></td></tr><tr><td>Mobile</td><td><p>iOS/Safari</p><p>Android/Chrome</p><p>Android/Samsung Internet</p></td></tr></tbody></table>

You can use the libraries in the browser with a bundler like [Webpack](https://webpack.js.org/), [Rollup](https://rollupjs.org/), or [Parcel](https://parceljs.org/).

### Bugs and Feature Requests

For public feedback, bug reports, and feature requests, please file an issue via GitHub.

* [**`solid-client`**](https://github.com/inrupt/solid-client-js/issues/)
* [**`solid-client-authn`**](https://github.com/inrupt/solid-client-authn-js/issues/)
* [**`solid-client-notifications`**](https://github.com/inrupt/solid-client-notifications-js/issues/)
* [**`solid-client-access-grants`**](https://github.com/inrupt/solid-client-access-grants-js/issues/)
* [**`solid-client-errors`**](https://github.com/inrupt/solid-client-errors-js/issues/)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.inrupt.com/sdk/javascript-sdk.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
