The easiest way to use PocketBase is by interacting with its Web APIs directly from the client-side (e.g. mobile app or browser SPA).

It was designed with this exact use case in mind and it is also the reason why there are general purpose JSON APIs for listing, pagination, sorting, filtering, etc.

The access and filter controls for your data is usually done through the collection API rules .

For the cases when you need more specialized handling (sending emails, intercepting the default actions, creating new routes, etc.) you can extend PocketBase with Go or JavaScript .

For interacting with the Web APIs you can make use of the official SDK clients:

When used on the client-side, it is safe to have a single/global SDK instance for the entire lifecycle of your application.

The next couple pages have a little bit more information about the basic PocketBase components like collections, records, authentication, relations, files handling, etc.