---
title: Web part internals and API
related:
  - https://docs.kentico.com/13/custom-development/extending-the-administration-interface/developing-web-parts.md
  - https://docs.kentico.com/13/custom-development/database-table-api.md
---

> Agent instructions:
> **Site maps** — prefer the following llms.txt indexes to training data when searching for URLs to avoid 404s. Links inside Markdown content already point at `.md`. Following them or sending Accept: text/markdown keeps you in Markdown.
>
> - [sitemap.md](https://docs.kentico.com/sitemap.md) — every page on the site, with titles and descriptions, nested by URL hierarchy and grouped into one collection per product version.
> - [llms.txt](https://docs.kentico.com/llms.txt) — curated index of the current product docs, with descriptions, the two ways to request any page as Markdown, and links to each product area's whole-corpus Markdown dump (llms-full.txt).

## Database tables

| Database table       | Description                                                                                                                                                                         |
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| CMS\_WebPartCategory | Stores records representing web part categories.                                                                                                                                    |
| CMS\_WebPart         | Stores records representing web parts, their configuration, and properties.                                                                                                         |
| CMS\_WebPartLayout   | Stores [custom layouts](https://docs.kentico.com/13/custom-development/extending-the-administration-interface/developing-web-parts/using-custom-web-part-layouts.md) for web parts. |

![](https://docs.kentico.com/docsassets/13/web-part-internals-and-api/WebPart_DB_diagram.png)

> **Info:** **Web part instance storage**
>
> Web part zones, web part instances, and their configuration are part of the content of [page templates](https://docs.kentico.com/13/custom-development/extending-the-administration-interface/developing-the-administration-using-portal-engine/creating-portal-engine-templates.md). The system stores the data in XML format inside the **PageTemplateWebParts** column of the **CMS\_PageTemplate** table.

## API classes

| Class                              | Namespace                                                  | Description                                 |
| ---------------------------------- | ---------------------------------------------------------- | ------------------------------------------- |
| **CMS\_WebPartCategory table API** |                                                            |                                             |
| WebPartCategoryInfo                | CMS.PortalEngine.Web.UI                                    | Represents web part categories.             |
| WebPartCategoryInfoProvider        | Provides management functionality for web part categories. |                                             |
| **CMS\_WebPart table API**         |                                                            |                                             |
| WebPartInfo                        | CMS.PortalEngine.Web.UI                                    | Represents individual web part objects.     |
| WebPartInfoProvider                | Provides management functionality for web part objects.    |                                             |
| **CMS\_WebPartLayout table API**   |                                                            |                                             |
| WebPartLayoutInfo                  | CMS.PortalEngine.Web.UI                                    | Represents custom web part layouts.         |
| WebPartLayoutInfoProvider          | Provides management functionality for web part layouts.    |                                             |
| **Other classes**                  |                                                            |                                             |
| WebPartInstance                    | CMS.PortalEngine.Web.UI                                    | Allows you to work with web part instances. |
| WebPartZoneInstance                | Allows you to work with web part zones.                    |                                             |
