--- title: Metaobject - Storefront API description: | An instance of [custom structured data](https://shopify.dev/docs/apps/build/metaobjects) defined by a metaobject definition. Metaobjects store reusable content that extends beyond standard Shopify resources, such as size charts, author profiles, or custom content sections. Each metaobject contains fields that match the types and validation rules specified in its definition. [`Metafield`](/docs/api/storefront/2026-01/objects/Metafield) references can point to metaobjects, connecting custom data with products, collections, and other resources. If the definition has the `renderable` capability, then the [`seo`](/docs/api/storefront/2026-01/objects/Metaobject#field-Metaobject.fields.seo) field provides SEO metadata. If it has the `online_store` capability, then the [`onlineStoreUrl`](/docs/api/storefront/2026-01/objects/Metaobject#field-Metaobject.fields.onlineStoreUrl) field returns the public URL. api_version: 2026-01 api_name: storefront type: object api_type: graphql source_url: html: https://shopify.dev/docs/api/storefront/latest/objects/metaobject md: https://shopify.dev/docs/api/storefront/latest/objects/metaobject.md --- # Metaobject object Requires `unauthenticated_read_metaobjects` access scope. An instance of [custom structured data](https://shopify.dev/docs/apps/build/metaobjects) defined by a metaobject definition. Metaobjects store reusable content that extends beyond standard Shopify resources, such as size charts, author profiles, or custom content sections. Each metaobject contains fields that match the types and validation rules specified in its definition. [`Metafield`](https://shopify.dev/docs/api/storefront/2026-01/objects/Metafield) references can point to metaobjects, connecting custom data with products, collections, and other resources. If the definition has the `renderable` capability, then the [`seo`](https://shopify.dev/docs/api/storefront/2026-01/objects/Metaobject#field-Metaobject.fields.seo) field provides SEO metadata. If it has the `online_store` capability, then the [`onlineStoreUrl`](https://shopify.dev/docs/api/storefront/2026-01/objects/Metaobject#field-Metaobject.fields.onlineStoreUrl) field returns the public URL. ## Fields * field [Metaobject​Field](https://shopify.dev/docs/api/storefront/latest/objects/MetaobjectField) Token access required Accesses a field of the object by key. * key [String!](https://shopify.dev/docs/api/storefront/latest/scalars/String) required ### Arguments The key of the field. *** * fields [\[Metaobject​Field!\]!](https://shopify.dev/docs/api/storefront/latest/objects/MetaobjectField) non-null Token access required All object fields with defined values. Omitted object keys can be assumed null, and no guarantees are made about field order. * handle [String!](https://shopify.dev/docs/api/storefront/latest/scalars/String) non-null Token access required The unique handle of the metaobject. Useful as a custom ID. * id [ID!](https://shopify.dev/docs/api/storefront/latest/scalars/ID) non-null Token access required A globally-unique ID. * online​Store​Url [URL](https://shopify.dev/docs/api/storefront/latest/scalars/URL) Token access required The URL used for viewing the metaobject on the shop's Online Store. Returns `null` if the metaobject definition doesn't have the `online_store` capability. * seo [Metaobject​SEO](https://shopify.dev/docs/api/storefront/latest/objects/MetaobjectSEO) Token access required The metaobject's SEO information. Returns `null` if the metaobject definition doesn't have the `renderable` capability. * type [String!](https://shopify.dev/docs/api/storefront/latest/scalars/String) non-null Token access required The type of the metaobject. * updated​At [Date​Time!](https://shopify.dev/docs/api/storefront/latest/scalars/DateTime) non-null Token access required The date and time when the metaobject was last updated. *** ## Map ### Fields and connections with this object * [MetaobjectConnection.nodes](https://shopify.dev/docs/api/storefront/latest/connections/MetaobjectConnection#returns-nodes) * [MetaobjectEdge.node](https://shopify.dev/docs/api/storefront/latest/objects/MetaobjectEdge#field-MetaobjectEdge.fields.node) ### Possible type in * [Menu​Item​Resource](https://shopify.dev/docs/api/storefront/latest/unions/MenuItemResource) * [Metafield​Reference](https://shopify.dev/docs/api/storefront/latest/unions/MetafieldReference) *** ## Queries * [metaobject](https://shopify.dev/docs/api/storefront/latest/queries/metaobject) query Retrieves a single [`Metaobject`](https://shopify.dev/docs/api/storefront/2026-01/objects/Metaobject) by either its [`global ID`](https://shopify.dev/docs/api/storefront/2026-01/queries/metaobject#arguments-id) or its [`handle`](https://shopify.dev/docs/api/storefront/2026-01/queries/metaobject#arguments-handle). *** **Note:** When using the handle, you must also provide the metaobject type because handles are only unique within a type. *** * id [ID](https://shopify.dev/docs/api/storefront/latest/scalars/ID) ### Arguments The ID of the metaobject. * handle [Metaobject​Handle​Input](https://shopify.dev/docs/api/storefront/latest/input-objects/MetaobjectHandleInput) The handle and type of the metaobject. *** * [metaobjects](https://shopify.dev/docs/api/storefront/latest/queries/metaobjects) query Returns a paginated list of [`Metaobject`](https://shopify.dev/docs/api/storefront/2026-01/objects/Metaobject) entries for a specific type. Metaobjects are [custom data structures](https://shopify.dev/docs/apps/build/metaobjects) that extend Shopify's data model with merchant-defined or app-defined content like size charts, product highlights, or custom sections. The required `type` argument specifies which metaobject type to retrieve. You can sort results by `id` or `updated_at` using the `sortKey` argument. * type [String!](https://shopify.dev/docs/api/storefront/latest/scalars/String) required ### Arguments The type of metaobject to retrieve. * sort​Key [String](https://shopify.dev/docs/api/storefront/latest/scalars/String) The key of a field to sort with. Supports "id" and "updated\_at". * first [Int](https://shopify.dev/docs/api/storefront/latest/scalars/Int) Returns up to the first `n` elements from the list. * after [String](https://shopify.dev/docs/api/storefront/latest/scalars/String) Returns the elements that come after the specified cursor. * last [Int](https://shopify.dev/docs/api/storefront/latest/scalars/Int) Returns up to the last `n` elements from the list. * before [String](https://shopify.dev/docs/api/storefront/latest/scalars/String) Returns the elements that come before the specified cursor. * reverse [Boolean](https://shopify.dev/docs/api/storefront/latest/scalars/Boolean) Default:false Reverse the order of the underlying list. *** *** ## Metaobject Queries ### Queried by * [metaobject](https://shopify.dev/docs/api/storefront/latest/queries/metaobject) * [metaobjects](https://shopify.dev/docs/api/storefront/latest/queries/metaobjects) *** ## Interfaces * * [Node](https://shopify.dev/docs/api/storefront/latest/interfaces/Node) interface * [Online​Store​Publishable](https://shopify.dev/docs/api/storefront/latest/interfaces/OnlineStorePublishable) interface *** ## Metaobject Implements ### Implements * [Node](https://shopify.dev/docs/api/storefront/latest/interfaces/Node) * [Online​Store​Publishable](https://shopify.dev/docs/api/storefront/latest/interfaces/OnlineStorePublishable)