Jump to: navigation, search
Table of Contents

The Ask API allows you to do ask queries against SMW using the MediaWiki API and get results back serialized in one of the formats it supports. There are 2 API modules that differ in how you specify the query, but have identical output of the query results.



The "ask" module supports one parameter, query, which takes the same string you'd feed into an #ask tag, but urlencoded.

api.php?action=ask&query=[[Modification date::%2B]]|%3FModification date|sort%3DModification date|order%3Ddesc&format=jsonfm


The "askargs" module aims to take arguments in unserialized form, so with as little ask-specific syntax as possible. It supports 3 arguments:

  • "conditions": The query conditions, ie the requirements for a subject to be included
  • "printouts": The query printouts, ie the properties to show per subject
  • "parameters": The query parameters, ie all non-condition and non-printout arguments
Limit and offset

As in regular ask queries, both "limit" and "offset" are specified in the parameter list.

To get the first 10 results: &parameters=limit%3D10

The API result contains a "query-continue-offset" key, which can be used to fetch additional results: &parameters=offset%3D10|limit%3D10

If there is no "query-continue-offset" key in the result, the end of the result set was reached.


The "browsebysubject" module allows to browse a subject, i.e. a page or subobject.

  • "subject": The title of the subject to be queried
  • "subobject": The title of the subobject with the named identifier to be queried (available since SMW 2.1)
Example (subject)
Example (subject and subobject with named identifier)
NoteNote: Browsing of a subobject subject with an anonymous identifier is limited to its "parent" subject, meaning that a request for a "Foo#_ed5a9979db6609b32733eda3fb747d21" subject will produce information for "Foo" as a whole including its subobjects because MW's WebRequest (responsible for handling request data sent by a browser) will eliminate any fragments (indicated by "#") to an API consumer.


The "smwinfo" module enables to access statistical data information about the installed SMW basis.


The parameter "formatcount" will output an array of used formats together with its count information available.

    "info": {
        "formatcount": {
            "datatables": 44,
            "list": 27,
            "jqplotchart": 15,
            "eventcalendar": 15,
            "gallery": 15,
            "jqplotseries": 13,
            "count": 2,
            "sum": 2,
            "rdf": 1
"errorcount" parameter

Semantic MediaWiki 2.2.0 introduced the "errorcount" parameter to this module allowing to retrieve the number of improperly added values.1

NoteNote:  If used in conjunction with the External Data extension do not forget to replace all pipe characters | in API URL with {{!}} templates (≤ MW 1.23) or magic word (≥ MW 1.24) inside the {{#get_web_data:...}} parser function.


External links


Server returns HTTP 500 errors when using the "Askargs" API module
Make sure that PHP is compiled together with the required "php-mbstring" module2

See also

This documentation page applies to all SMW versions from 1.7.0 to the most current version.
      Other languages: de

Ask API en 1.7.0