--- title: "Intro | Docs" description: "ZingGrid has a set of concepts and guidelines that will make developing grids faster and easier." url: https://www.zinggrid.com/docs/v1/api/intro --- ```text experiment_id: web-retrieval-v1 fixture_id: /docs/v1/api/intro.md mode: provenance representation: markdown origin_response_id: c96fb2f545cfb87cf0bd4961c10b4232 version: 2026-10-21 version_created_at_utc: 2026-10-21T20:42:35.738Z version_nonce: ed79edb2e6feb3f33dfc1e60bc3f8072 generated_at_utc: 2026-10-22T21:06:02.093Z response_nonce: b9ff211c5e3724a333191689f5abf61b ``` # The ZingGrid API ZingGrid defines a set of [Custom Elements](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) (tags) that you can use to construct a data table or interactive grid. As a set of custom elements, ZingGrid tags natively use standard CSS properties and attributes, react to JavaScript events, and act as you would expect normal HTML tags to behave. ## Overview ZingGrid supports a rich and nearly unobtrusive API that leverages what web developers already know - the native DOM API! Treat ZingGrid elements just as you would any standard HTML element, including: * Select elements using standard selectors like `document.querySelector()` or jQuery's `$` * Apply CSS for styling, showing/hiding content, or even adding transitions * Add event listeners using native `addEventListener()` calls Since we are a native web component, you can even bind ZingGrid with popular frameworks quite easily. Click each framework below for integration directions: - [Vanilla Js](https://www.zinggrid.com/docs/integrations/vanilla-js) - [React](https://www.zinggrid.com/docs/integrations/js-frameworks-&-libs/react) - [Vue](https://www.zinggrid.com/docs/integrations/js-frameworks-&-libs/vue) - [Angular](https://www.zinggrid.com/docs/integrations/js-frameworks-&-libs/angular) - [NestJS](https://www.zinggrid.com/docs/integrations/js-frameworks-&-libs/nestjs) - [jQuery](https://www.zinggrid.com/docs/integrations/js-frameworks-&-libs/jquery) - [Svelte](https://www.zinggrid.com/docs/integrations/js-frameworks-&-libs/svelte) When binding data, use your framework or make calls to endpoints directly with ZingGrid. We support **Standard REST** and **Firebase** directly with almost zero configuration. If you do things in a non-standard way, don't worry. ZingGrid is customizable and lets you do all the overwrites you need. Check out the examples below, and then explore our docs! ### Automatic REST API Binding ZingGrid automatically does REST bindings for you so that actions on your grid (insert, edit, and delete) are connected to your dataset. [Example code](https://app.zingsoft.com/demos/embed/QD36P8UE) ### Methods and Events API ZingGrid comes with its own events and methods to provide flexibility in handling interactions with your grid. In our demo, we use the `cell:click` event and the `setCaption()` method to update the counter shown on the caption. [Example code](https://app.zingsoft.com/demos/embed/Q851B51U) ### Built-in Endpoint Adapter ZingGrid makes it easy to connect Firebase to your grid. It sets up properties for you, from pagination to direct cell-data editing. There are many more adapters coming soon! [Example code](https://app.zingsoft.com/demos/embed/YUN7FZGW) ### Custom Endpoints ZingGrid also makes it easy to connect your grid to custom endpoints, like GitHub. [Example code](https://app.zingsoft.com/demos/embed/IK9N1UI7) ### Tag Usage ZingGrid tags are an extension of native HTML and are used like any other tag: ```html Hello ZingGrid ``` Since they are HTML tags, they support common attributes like `id`, `class`, `title`, etc. For built-in grid functionality, you simply add attributes to enable functionality. > **Note:** Check out the [full list of ZingGrid tags](https://www.zinggrid.com/docs/api/tags/zing-grid) and the [full list of HTML attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes). ### Attribute Usage As extensions of native HTML elements, ZingGrid tags accept data attributes. Custom, predefined attributes are used to control the behavior of the grid, from quickly adding a styled caption-label to enabling search, sorting, and pagination: ```html ``` When the grid is rendered, the feature attributes are evaluated and the matching DOM markup is constructed and added automatically. > **Note:** Note: Some elements are auto-generated during the render process. They are listed on the [`` page](https://www.zinggrid.com/docs/api/tags/zing-grid) but are not intended for manual use. If the element has no public attributes listed, this is a good indicator that it is added automatically for you.