Wikimedia Enterprise Namespaces API

Namespace metadata.

Operations 4

GET /v2/namespaces Namespaces Available #
POST /v2/namespaces Namespaces Available #
GET /v2/namespaces/{identifier} Namespace Info #
POST /v2/namespaces/{identifier} Namespace Info #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/enterprise-wikimedia-com:enterprise-wikimedia-com-namespaces-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

enterprise-wikimedia-com-namespaces-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Wikimedia Enterprise Namespaces API
  version: 2.0.0
  description: 'The Wikimedia Enterprise API provides high-volume, read-only access to Wikipedia and other supported Wikimedia projects.


    This single specification covers all Wikimedia Enterprise APIs:


    - **Authentication** (`auth.enterprise.wikimedia.com`) - exchange credentials for JWT access and refresh tokens.

    - **Metadata, Snapshot, and On-demand** (`api.enterprise.wikimedia.com`) - reference data, bulk downloads, and single-article lookups, plus Realtime (Batch) hourly files.

    - **Realtime** (`realtime.enterprise.wikimedia.com`) - streaming article and Wikidata updates.


    All data endpoints are read-only. Most accept either a `GET` request or a `POST` whose JSON body carries `fields`, `filters`, and `limit` to shape the response - the `POST` form never modifies data.


    Authenticated endpoints expect a `Bearer` JWT access token in the `Authorization` header. Content is Wikimedia project text, licensed CC-BY-SA-4.0.'
  license:
    name: CC-BY-SA-4.0
    url: https://creativecommons.org/licenses/by-sa/4.0/
  contact:
    name: Commercial Partnerships Division
    url: https://enterprise.wikimedia.com/contact/
  termsOfService: https://enterprise.wikimedia.com/terms/
servers:
- url: https://api.enterprise.wikimedia.com
  description: Metadata, Snapshot, and On-demand APIs, plus Realtime (Batch) files
- url: https://auth.enterprise.wikimedia.com
  description: Authentication API
- url: https://realtime.enterprise.wikimedia.com
  description: Realtime streaming API
security:
- bearerAuth: []
tags:
- name: Namespaces
  description: Namespace metadata.
paths:
  /v2/namespaces:
    summary: List all namespaces
    servers:
    - url: https://api.enterprise.wikimedia.com
      description: Metadata, Snapshot, and On-demand APIs, plus Realtime (Batch) files
    get:
      summary: Namespaces Available
      description: List of available namespaces. Includes name, identifier and description.
      operationId: getNamespaces
      tags:
      - Namespaces
      parameters:
      - in: query
        name: fields
        description: 'Select which fields to receive in your response, using JSON dot notation. Sent as one `fields` query parameter per field: `?fields=name&fields=identifier`. A comma-separated list in a single value is not supported.'
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            example: name
      - in: query
        name: filters
        description: 'Select which projects and languages to receive in your response. Sent as one `filters` query parameter per filter, each a JSON object: `?filters={"field":"is_part_of.identifier","value":"enwiki"}&filters={"field":"namespace.identifier","value":0}`. Repeated filters combine as AND. A JSON array in a single value returns `422 Unprocessable Entity`.'
        style: form
        explode: true
        schema:
          type: array
          items:
            $ref: '#/components/schemas/filter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/namespace'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"identifier": 0,"name": "string","description": "string"}

                  {"identifier": 0,"name": "string","description": "string"}

                  '
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"message":"string","status": 401}

                  '
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"message":"string","status": 403}

                  '
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"message":"string","status":422}

                  '
        '500':
          description: Internal Server Error, Retry Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"message":"string","status":500}

                  '
    post:
      summary: Namespaces Available
      description: List of available namespaces. Includes name, identifier and description.
      operationId: queryNamespaces
      tags:
      - Namespaces
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                fields:
                  type: array
                  example:
                  - name
                  - identifier
                  description: Select which fields to receive in your response, using JSON dot notation.
                  items:
                    type: string
                filters:
                  type: array
                  description: Select which projects and languages to receive in your response.
                  items:
                    $ref: '#/components/schemas/filter'
                  example:
                  - field: identifier
                    value: '0'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/namespace'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"identifier": 0,"name": "string","description": "string"}

                  {"identifier": 0,"name": "string","description": "string"}

                  '
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"message":"string","status": 401}

                  '
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"message":"string","status": 403}

                  '
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"message":"string","status":422}

                  '
        '500':
          description: Internal Server Error, Retry Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"message":"string","status":500}

                  '
  /v2/namespaces/{identifier}:
    summary: Receive info for one namespace
    servers:
    - url: https://api.enterprise.wikimedia.com
      description: Metadata, Snapshot, and On-demand APIs, plus Realtime (Batch) files
    get:
      summary: Namespace Info
      description: Information on specific namespace. Includes name, identifier and description.
      operationId: getNamespacesByIdentifier
      tags:
      - Namespaces
      parameters:
      - in: path
        name: identifier
        description: Namespace identifier.
        required: true
        schema:
          type: integer
      - in: query
        name: fields
        description: 'Select which fields to receive in your response, using JSON dot notation. Sent as one `fields` query parameter per field: `?fields=name&fields=identifier`. A comma-separated list in a single value is not supported.'
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            example: name
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/namespace'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"identifier":0,"name":"string","description":"string"}

                  '
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"message":"string","status": 401}

                  '
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"message":"string","status": 403}

                  '
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"message":"string","status": 404}

                  '
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"message":"string","status":422}

                  '
        '500':
          description: Internal Server Error, Retry Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"message":"string","status":500}

                  '
    post:
      summary: Namespace Info
      description: Information on specific namespace. Includes name, identifier and description.
      operationId: queryNamespacesByIdentifier
      tags:
      - Namespaces
      parameters:
      - in: path
        name: identifier
        description: Namespace identifier.
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                fields:
                  type: array
                  example:
                  - name
                  - identifier
                  description: Select which fields to receive in your response, using JSON dot notation.
                  items:
                    type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/namespace'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"identifier":0,"name":"string","description":"string"}

                  '
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"message":"string","status": 401}

                  '
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"message":"string","status": 403}

                  '
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"message":"string","status": 404}

                  '
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"message":"string","status":422}

                  '
        '500':
          description: Internal Server Error, Retry Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
            application/x-ndjson:
              schema:
                type: string
                format: ndjson
                example: '{"message":"string","status":500}

                  '
components:
  schemas:
    namespace:
      type: object
      description: MediaWiki namespace of a page. Namespaces partition a project's pages by purpose, such as articles, files, templates, and categories
      properties:
        identifier:
          type: number
          description: Numeric identifier of the [namespace](https://en.wikipedia.org/wiki/Wikipedia:Namespace). Articles live in namespace 0
          example: 0
        name:
          type: string
          description: Name of the namespace
          example: Article
        description:
          type: string
          description: Description of what the namespace contains
          example: The Article namespace, also known as the main or mainspace, is where a project's primary content resides, whether articles, entries, or main documents depending on the Wikimedia project.
    error:
      type: object
      description: Error response returned when a request fails
      properties:
        message:
          type: string
          description: Human-readable description of the error
        status:
          type: integer
          description: HTTP status code of the error
    filter:
      type: object
      description: Filter condition applied to a POST request body, narrowing the response to records matching the value
      properties:
        field:
          type: string
          description: Field to filter on, in dot notation, e.g. `is_part_of.identifier`
          example: is_part_of.identifier
        value:
          description: Value the field must equal. Use the field's own type - a number for numeric fields such as `namespace.identifier`, a string for text fields.
          oneOf:
          - type: string
          - type: number
          example: enwiki
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
externalDocs:
  description: Wikimedia Enterprise API documentation
  url: https://enterprise.wikimedia.com/docs/
x-tagGroups:
- name: Authentication
  tags:
  - authentication
- name: Metadata
  tags:
  - codes
  - languages
  - projects
  - namespaces
- name: Snapshots
  tags:
  - snapshots
  - structured-snapshots
  - wikidata-snapshots
- name: On-demand
  tags:
  - articles
  - structured-contents
  - wikidata
- name: Realtime
  tags:
  - realtime-articles
  - batches
  - realtime-wikidata
  - wikidata-batches