openapi: 3.0.3 info: title: Wiktionary MediaWiki Core REST Definition Query API description: The newer MediaWiki Core REST API, exposed per wiki at /w/rest.php. It offers a smaller, streamlined surface than the Action API for fetching page content, history, search, files, and revisions. On Wiktionary it serves the same content as the Action API in a more developer-friendly JSON shape. All content is CC BY-SA 4.0. version: 1.0.0 termsOfService: https://foundation.wikimedia.org/wiki/Terms_of_Use contact: name: Wikimedia Foundation url: https://www.mediawiki.org/wiki/API:REST_API license: name: CC BY-SA 4.0 url: https://creativecommons.org/licenses/by-sa/4.0/ x-generated-from: documentation x-last-validated: '2026-05-30' servers: - url: https://en.wiktionary.org/w/rest.php description: English Wiktionary Core REST endpoint security: - {} - oauth2: [] tags: - name: Query description: action=query — Fetch wikitext, extracts, revisions, and search results paths: /api.php: get: operationId: queryAction summary: Wiktionary Query Action description: Dispatch any read-only MediaWiki Action API call. The `action` query parameter selects the module (query, parse, opensearch, expandtemplates). Use the more specific operations below for typed access, or pass arbitrary `action`/`format` values here. tags: - Query parameters: - $ref: '#/components/parameters/Action' - $ref: '#/components/parameters/Format' - name: titles in: query required: false description: Pipe-separated list of page titles (max 50 per request). schema: type: string - name: prop in: query required: false description: Properties to fetch (e.g. wikitext, extracts, revisions, links). schema: type: string - name: list in: query required: false description: Lists to fetch (e.g. search, allpages, recentchanges). schema: type: string - name: meta in: query required: false description: Meta information (e.g. siteinfo, tokens, userinfo). schema: type: string responses: '200': description: Action API response. content: application/json: schema: $ref: '#/components/schemas/ActionApiResponse' '400': $ref: '#/components/responses/BadRequest' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api.php#query-wikitext: get: operationId: queryWikitext summary: Wiktionary Query Wikitext description: Fetch the raw wikitext for one or more pages via action=query&prop=revisions&rvprop=content. tags: - Query parameters: - name: action in: query required: true schema: type: string enum: - query default: query description: Must be `query`. - name: prop in: query required: true schema: type: string enum: - revisions default: revisions description: Must be `revisions`. - name: rvprop in: query required: true schema: type: string default: content description: Revision properties to fetch (use `content` for wikitext). - name: titles in: query required: true schema: type: string description: Pipe-separated page titles. - $ref: '#/components/parameters/Format' responses: '200': description: Wikitext content for the requested pages. content: application/json: schema: $ref: '#/components/schemas/QueryRevisionsResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api.php#query-extracts: get: operationId: queryExtracts summary: Wiktionary Query Extracts description: Fetch plain-text or limited-HTML extracts of pages via action=query&prop=extracts. Powered by the TextExtracts extension. tags: - Query parameters: - name: action in: query required: true schema: type: string enum: - query default: query description: Must be `query`. - name: prop in: query required: true schema: type: string enum: - extracts default: extracts description: Must be `extracts`. - name: titles in: query required: true schema: type: string description: Pipe-separated page titles. - name: exintro in: query required: false schema: type: boolean description: Return only the lead section. - name: explaintext in: query required: false schema: type: boolean description: Return plain text instead of limited HTML. - $ref: '#/components/parameters/Format' responses: '200': description: Page extracts response. content: application/json: schema: $ref: '#/components/schemas/QueryExtractsResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api.php#query-search: get: operationId: querySearch summary: Wiktionary Query Search description: Full-text search across Wiktionary pages via action=query&list=search. Backed by ElasticSearch (CirrusSearch). tags: - Query parameters: - name: action in: query required: true schema: type: string enum: - query default: query description: Must be `query`. - name: list in: query required: true schema: type: string enum: - search default: search description: Must be `search`. - name: srsearch in: query required: true schema: type: string description: Search query string. - name: srlimit in: query required: false schema: type: integer minimum: 1 maximum: 500 default: 10 description: Number of results to return (max 500). - name: sroffset in: query required: false schema: type: integer minimum: 0 description: Offset into the result set for paging. - $ref: '#/components/parameters/Format' responses: '200': description: Search response. content: application/json: schema: $ref: '#/components/schemas/QuerySearchResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: Revision: title: Revision type: object properties: contentformat: type: string example: text/x-wiki contentmodel: type: string example: wikitext '*': type: string description: Raw wikitext body. example: '==English== ===Interjection=== # A standard greeting.' ExtractPage: title: ExtractPage type: object properties: pageid: type: integer example: 12345 ns: type: integer example: 0 title: type: string example: hello extract: type: string description: Plain-text or limited-HTML extract. example: A standard greeting; an expression of puzzlement or discovery. QueryExtractsResponse: title: QueryExtractsResponse description: action=query&prop=extracts result. type: object properties: query: type: object properties: pages: type: object additionalProperties: $ref: '#/components/schemas/ExtractPage' ActionApiResponse: title: ActionApiResponse description: Generic envelope for any Action API response. type: object properties: batchcomplete: type: string description: Present when all sub-queries completed in one batch. example: '' continue: type: object description: Continuation cursor for paged result sets. additionalProperties: true query: type: object description: Container for `prop`/`list`/`meta` results when action=query. additionalProperties: true parse: type: object description: Container for action=parse output. additionalProperties: true warnings: type: object description: Per-module warning messages. additionalProperties: true error: $ref: '#/components/schemas/ApiError' QueryRevisionsResponse: title: QueryRevisionsResponse description: action=query&prop=revisions result containing page wikitext. type: object properties: batchcomplete: type: string example: '' query: type: object properties: pages: type: object description: Map of pageid → page object. additionalProperties: $ref: '#/components/schemas/RevisionPage' QuerySearchResponse: title: QuerySearchResponse description: action=query&list=search result. type: object properties: batchcomplete: type: string example: '' continue: type: object additionalProperties: true query: type: object properties: searchinfo: type: object properties: totalhits: type: integer example: 1234 search: type: array items: $ref: '#/components/schemas/SearchHit' SearchHit: title: SearchHit type: object properties: ns: type: integer example: 0 title: type: string example: hello pageid: type: integer example: 12345 size: type: integer example: 4321 wordcount: type: integer example: 412 snippet: type: string description: HTML snippet of the matching excerpt. example: A standard greeting. timestamp: type: string format: date-time example: '2025-03-15T14:30:00Z' RevisionPage: title: RevisionPage type: object properties: pageid: type: integer example: 12345 ns: type: integer example: 0 title: type: string example: hello revisions: type: array items: $ref: '#/components/schemas/Revision' ApiError: title: ApiError description: Standard MediaWiki Action API error envelope. type: object properties: code: type: string example: badvalue info: type: string example: Unrecognized value for parameter "action". '*': type: string description: Additional error context. example: See https://en.wiktionary.org/w/api.php for help. parameters: Action: name: action in: query required: true description: Which Action API module to dispatch. schema: type: string enum: - query - parse - opensearch - expandtemplates - sitematrix - paraminfo default: query Format: name: format in: query required: false description: Response format. schema: type: string enum: - json - jsonfm - xml - xmlfm - php - phpfm - none default: json responses: BadRequest: description: Request was malformed. content: application/json: schema: $ref: '#/components/schemas/ApiError' TooManyRequests: description: Rate limit exceeded (shared cap is ~200 req/s; set a unique User-Agent). content: application/json: schema: $ref: '#/components/schemas/ApiError' securitySchemes: oauth2: type: oauth2 description: OAuth 2.0 access tokens issued via api.wikimedia.org. flows: authorizationCode: authorizationUrl: https://meta.wikimedia.org/w/rest.php/oauth2/authorize tokenUrl: https://meta.wikimedia.org/w/rest.php/oauth2/access_token scopes: basic: Basic read access to user identity