21st.dev
21st
12,000+ hand-crafted React and Tailwind CSS components, templates, and shadcn themes by real design engineers. Preview live, install with one command — for you and your AI agent.
55
Partly agent-ready
Agent-readiness score out of 100
- ✓ Clear description of the site
- ✓ Several pages described
- ✓ Actions agents can take
- ✓ 3 or more actions
- ○ Publishes its own LAWP (/.well-known/lawp.json)
- ○ Actions agents can execute
- ○ Business details (address, hours, phone)
How to improve this score
Up to +45 points:
+15 · Publishes its own LAWP (/.well-known/lawp.json)
Publish your starter lawp.json at
Publish your starter lawp.json at
/.well-known/lawp.json. WordPress: install the Actuent plugin. Cloudflare: use the one-click Worker.+15 · Actions agents can execute
Give an action an
Give an action an
endpoint on your domain so agents can do it for the user, not just link to it. See LAWP Actions.+15 · Business details (address, hours, phone)
Add schema.org business data to your homepage (the starter snippet). Google uses it too.
Add schema.org business data to your homepage (the starter snippet). Google uses it too.
Starter lawp.json for 21st.dev
Made from what Actuent already knows. Edit it, then publish it at
https://21st.dev/.well-known/lawp.json. Check it with the LAWP Checker, or edit it in the LAWP Generator.{
"lawp_version": "0.3",
"domain": "21st.dev",
"name": "21st",
"language": "en",
"pages": {
"/": {
"title": "React Components, Templates & Themes — 12,000+ Crafted UI | 21st | 21st",
"content": "12,000+ hand-crafted React and Tailwind CSS components, templates, and shadcn themes by real design engineers. Preview live, install with one command — for you and your AI agent."
},
"/@sean0205/library/reui": {
"title": "ReUI",
"content": "shadcn/ui-based component set"
},
"/@originui/library/origin-ui": {
"title": "Origin UI",
"content": "copy-paste Tailwind building blocks"
},
"/community/components/s/hero": {
"title": "Hero Sections",
"content": "landing page hero components"
},
"/@kokonutd/library/kokonut-ui": {
"title": "Kokonut UI",
"content": "modern components by Dorian Baffier"
},
"/@dillionverma/library/magic-ui": {
"title": "Magic UI",
"content": "animated marketing components by Dillion Verma"
},
"/@preetsuthar17/library/hextaui": {
"title": "HextaUI",
"content": "component set by Preet Suthar"
},
"/community/components/s/ai-chat": {
"title": "AI Chat",
"content": "components for AI-powered interfaces"
},
"/community/components/s/features": {
"title": "Feature Sections",
"content": "product feature showcases"
},
"/@ibelick/library/motion-primitives": {
"title": "Motion Primitives",
"content": "motion building blocks by Julien Thibeaut"
},
"/@manuarora700/library/aceternity-ui": {
"title": "Aceternity UI",
"content": "animated React components by Manu Arora"
}
},
"actions": [
{
"id": "view_pricing",
"name": "View pricing",
"input": {
"type": "text",
"required": false
},
"intent": [
"pricing",
"prices",
"plans",
"cost",
"how much"
],
"description": "See plans and prices"
},
{
"id": "contact",
"name": "Contact",
"input": {
"type": "text",
"required": false
},
"intent": [
"contact",
"get in touch",
"email",
"message",
"support"
],
"description": "Get in touch with the site owner"
},
{
"id": "sign_in",
"name": "Sign in",
"input": {
"type": "text",
"required": false
},
"intent": [
"sign in",
"log in",
"login",
"account"
],
"description": "Log in to an account"
}
]
}Starter schema.org snippet
Replace the example values, then paste into your homepage's <head>.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "21st",
"url": "https://21st.dev",
"telephone": "+00 0000 0000",
"priceRange": "€€",
"address": {
"@type": "PostalAddress",
"streetAddress": "Street 1",
"postalCode": "0000",
"addressLocality": "City",
"addressCountry": "DK"
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"opens": "09:00",
"closes": "17:00"
}
]
}
</script>What AI agents can do here
View pricing
See plans and prices
pricingpricesplanscosthow muchContact
Get in touch with the site owner
contactget in touchemailmessagesupportSign in
Log in to an account
sign inlog inloginaccountPages
React Components, Templates & Themes — 12,000+ Crafted UI | 21st | 21st /
12,000+ hand-crafted React and Tailwind CSS components, templates, and shadcn themes by real design engineers. Preview live, install with one command — for you and your AI agent.
ReUI /@sean0205/library/reui
shadcn/ui-based component set
Origin UI /@originui/library/origin-ui
copy-paste Tailwind building blocks
Hero Sections /community/components/s/hero
landing page hero components
Kokonut UI /@kokonutd/library/kokonut-ui
modern components by Dorian Baffier
Magic UI /@dillionverma/library/magic-ui
animated marketing components by Dillion Verma
HextaUI /@preetsuthar17/library/hextaui
component set by Preet Suthar
AI Chat /community/components/s/ai-chat
components for AI-powered interfaces
Feature Sections /community/components/s/features
product feature showcases
Motion Primitives /@ibelick/library/motion-primitives
motion building blocks by Julien Thibeaut
Aceternity UI /@manuarora700/library/aceternity-ui
animated React components by Manu Arora
For AI agents
Get this site as structured JSON:
GET https://api.actuent.ai/api/search?q=21st.dev
Or connect Actuent to ChatGPT or Claude:
https://agents.actuent.ai/api/mcpLast updated 26 Sep 2026
Is this your site?
Claim 21st.dev to edit what AI agents see, make your actions executable, and show your score:
Show your score:
<script src="https://api.actuent.ai/badge.js" data-domain="21st.dev" async></script> or the image https://api.actuent.ai/badge.svg?domain=21st.dev&style=cardActuent is a search engine for AI agents, made by localilabs. Data is generated automatically from public web content and may be incomplete.
