On this page:
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.

timeRequired

timeRequired · Not mentioned by Google

Appears in

Course

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.

On this page:
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.

Need help with schema on your site?

We implement structured data for Webflow sites — from audit to deployment.

Work with us

Work with us