--- title: 'Custom Nodes' description: 'Learn how to implement custom nodes for your Schema.org.' --- If you need to add a node that isn't officially implemented, then you can provide it yourself. Custom nodes are just plain objects that follow the [Schema.org specification](https://schema.org/docs/full.html). ```ts import { useSchemaOrg } from '@unhead/schema-org/@framework' useSchemaOrg([ { '@type': 'SingleFamilyResidence', 'numberOfRooms': 3, 'occupancy': 5, 'numberOfBathroomsTotal': 2, 'floorSize': '2000 sqft', 'petsAllowed': true, } ]) ``` ## Using Schema-dts If you'd like to add full TypeScript support, you can use [schema-dts](https://github.com/google/schema-dts). ```ts import type { DefinedTerm } from 'schema-dts' import { useSchemaOrg } from '@unhead/schema-org/@framework' useSchemaOrg([ <DefinedTerm> { '@type': 'DefinedTerm', 'name': 'Unhead Schema.org', 'description': 'Unhead Schema.org is a library for adding Schema.org to your application.', 'inDefinedTermSet': { '@type': 'DefinedTermSet', 'name': 'Schema.org Libraries', }, } ]) ```