timeRequired
timeRequired · Not mentioned by Google
Appears in
What is it?
The approximate time needed to complete a course. timeRequired uses ISO 8601 duration format to express how many hours, minutes, or days a learner should expect to invest. A 300 hour certification uses "PT300H." A 90 minute workshop uses "PT1H30M."
This property comes from CreativeWork, which Course inherits. It represents total time to work through the content, not calendar duration or enrollment period.
Why this matters for AEO
When a user asks "How long does the freeCodeCamp JavaScript course take?" or "quick Python courses under 2 hours," AI engines read timeRequired to answer directly. Without this field, the engine cannot compare course durations or filter by time commitment. Structured duration data lets AI assistants recommend courses that fit a user's available schedule.
What the specs say
Schema.org: Duration. Approximate or typical time it usually takes to work with or through the content of this work for the typical or target audience. schema.org/timeRequired
Google: Not mentioned. This field is not listed in Google's structured data documentation for Course. Google Course docs
How to find your value
- Course landing page — "Duration," "Total hours," or "Time to complete" section
- Syllabus — Total lecture hours plus estimated homework time
- Learning platform — Course metadata, often shown as "X hours of content"
- Certification body — Required hours for credential completion
Format and code
timeRequired uses ISO 8601 duration format. The value always starts with "P" (period) and uses "T" before time components.
- 30 minutes — PT30M
- 1 hour 30 minutes — PT1H30M
- 8 hours — PT8H
- 40 hours — PT40H
- 300 hours — PT300H
Standard course:
{
"@context": "https://schema.org",
"@type": "Course",
"name": "JavaScript Algorithms and Data Structures",
"provider": {
"@type": "Organization",
"name": "freeCodeCamp"
},
"educationalLevel": "Intermediate",
"timeRequired": "PT300H"
}
Short workshop:
{
"@context": "https://schema.org",
"@type": "Course",
"name": "Basic Proofreading",
"timeRequired": "PT40H",
"hasCourseInstance": [
{
"@type": "CourseInstance",
"courseMode": ["distance learning", "Online"],
"offers": {
"@type": "Offer",
"price": "395",
"priceCurrency": "GBP"
}
}
]
}
Do not confuse timeRequired (total time to complete the content) with duration on a CourseInstance (the calendar span of a scheduled session). A 40 hour course might run over 10 weeks; timeRequired is "PT40H" while the instance duration would be "P10W."
Webflow implementation
Static pages
Add timeRequired inside the Course JSON-LD block in Page Settings > Custom Code (Before ):
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Course",
"name": "UX Design Fundamentals",
"description": "Learn the core principles of user experience design.",
"provider": {
"@type": "Organization",
"name": "Coursera"
},
"timeRequired": "PT20H"
}
</script>
CMS template pages
Map a CMS plain text field to timeRequired. Store the value in ISO 8601 format (e.g., "PT40H"). Alternatively, store hours as a number field and use custom code to prepend "PT" and append "H."
In Schema HQ
timeRequired is output in Course schema generation. Enter the estimated hours and Schema HQ formats it as a valid ISO 8601 duration in the JSON-LD output.
Real examples
Basic Proofreading Course (from schema.org/Course official example):
{
"@type": "Course",
"name": "Basic Proofreading",
"timeRequired": "PT40H"
}
Related fields
- duration — calendar span of a specific course instance or session
- educationalLevel — difficulty level, which often correlates with time investment
- courseCode — the provider's catalog identifier for the course
- name — the course title
FAQ
What is the difference between timeRequired and duration?
timeRequired is the total effort in hours to complete the course content. duration (on CourseInstance) is the calendar span of a scheduled offering. A course with "PT40H" of content might have a CourseInstance with a duration of "P10W" if it runs two evenings per week for ten weeks.
How do I format partial hours in ISO 8601?
Combine hours and minutes: "PT1H30M" for one and a half hours, "PT2H15M" for two hours and fifteen minutes. Do not use decimals; "PT1.5H" is not valid ISO 8601.