TDM-Policy header

The Citead team, updated

In short. The TDM-Policy header links a web resource to its rights holder's text and data mining policy.

Definition: The TDM-Policy header is an HTTP response field containing the URL of a rights holder's policy for text and data mining (TDM), the automated analysis of digital text and data. In the TDM Reservation Protocol, that policy describes the kinds of mining licences available from the rights holder.

As of 17 October 2026, this entry follows the TDM Reservation Protocol report dated 10 May 2024. Its status is a Final Community Group Report, outside the W3C Standards Track.

Key facts

  • The report's HTTP response mechanism makes tdm-policy optional alongside tdm-reservation in responses to GET or HEAD requests.
  • The group's policy implementation guide explains that a shared policy URL helps miners group requests for consent across resources.
  • Its HTTP headers guide identifies Apache's mod_headers and nginx as implementation options.

The report's reservation and policy properties have complementary roles. tdm-reservation: 1 declares that mining rights are reserved. The policy URL supplies information about obtaining authorization from the rights holder.

The following header fields are taken from the report's example of a resource for which a mining licence may be acquired:

tdm-reservation: 1
tdm-policy: https://provider.com/policies/policy.json

The URL is an example from the specification. The server sends the fields with its response to a request for the protected resource. The linked policy provides the licensing information separately from that resource.

When tdm-reservation is 0, the protocol says mining rights are unreserved and agents should leave any accompanying tdm-policy unprocessed.

What does the linked policy contain?

The report's policy format rules recognize a human-readable policy served as text/html. Machine-readable policies use application/json or application/ld+json.

For structured policies, the same report defines a profile of the Open Digital Rights Language (ODRL), a language for expressing permissions and conditions. The policy has an @type of Offer, an assigner identifying the rights holder, and a permission array describing permissions. Contact information can include an email address or a web page about acquiring a mining licence. A duty with the action obtainConsent expresses the requirement to obtain verifiable consent before mining.

If software cannot access or parse the policy, the report requires it to treat the conditions for processing the resource as unknown at that time.

Which declaration takes priority?

The report's processing rules recommend using one declaration technique. When several coexist, software implementing the protocol first checks the site-level file at /.well-known/tdmrep.json. Header values override values inferred from that file; TDM metadata within HTML subsequently overrides earlier values.

An absent property preserves the value already established. For a website operator checking a policy link, this makes the response headers and the page's HTML metadata relevant: the header URL can be superseded by a policy declared inside the page.

FAQ

Can I reserve mining rights without a policy URL?

Yes. The report's HTTP header mechanism makes tdm-policy optional. You can send tdm-reservation: 1 without supplying that field.

Yes. The same report recognizes text/html as a human-readable policy format. If you provide a machine-readable policy, the documented media types are application/json and application/ld+json.

Sources

  1. W3C Text and Data Mining Reservation Protocol Community Group, "TDM Reservation Protocol (TDMRep)", 10 May 2024
  2. W3C Text and Data Mining Reservation Protocol Community Group, "Dealing with TDM Policies", undated
  3. W3C Text and Data Mining Reservation Protocol Community Group, "Technique based on http headers", undated

Check how a page reads to answer engines. Open the GEO score analyzer

Test a page and see what to fix first

The analysis usually takes less than 10 seconds and needs no account.

400,000+ pages scored in the public benchmark