In order to determine the output format, there are several ways to do so:
- Content negotiation: If "ACCEPT: MIME type(s)" is present in request headers, the special page, tries to find the most suitable format it can support. For more information read Content negotiation article in English Wikipedia. Default supported content types are:
- "text/html" (will redirect to the entity page)
- "application/json" (Wikibase JSON)
- "application/rdf+xml", "application/xml", "text/xml" (RDF/XML)
- "application/n-triples", "text/n-triples", "text/plain" (N-Triples)
- "text/turtle", "application/x-turtle" (Turtle)
- "text/n3", "text/rdf+n3" (Notation3)
- "application/vnd.php.serialized" (PHP serialization)
- Using "format" argument. So for example Special:EntityData?id=Q7251&format=json. Supported formats are: html, json, rdf, nt, ttl, n3, php.
- Using format suffix: For example d:Special:EntityData/Q7251.json. Supported format suffixes are: html, json, rdf, nt, ttl, n3, php.
You can also determine a fixed revision id using a "revision" argument (for example Special:EntityData?id=Q7251&revision=123456). (Until July 2019, "oldid" was also accepted.)
If argument "redirect=force" is present, it forces a redirect regardless of the outcome.