Spring Framework Metadata API

Discover available project options and capabilities

Operations 2

GET / Get Initializr Metadata #
GET /dependencies Get Available Dependencies #

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/spring-metadata-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

spring-metadata-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Spring Initializr Metadata API
  description: The Spring Initializr REST API enables programmatic generation of Spring Boot project scaffolding. It provides endpoints to discover available dependencies, project types, Spring Boot versions, and packaging options, as well as generating ready-to-use project archives in zip or tar.gz format. The API is used by IDEs (IntelliJ IDEA, Eclipse Spring Tools Suite, VS Code Spring Boot Extension), CLI tools (Spring CLI), and custom tooling to bootstrap new Spring Boot projects.
  version: '1.0'
  contact:
    name: Spring Team
    url: https://spring.io/team
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://start.spring.io
  description: Official Spring Initializr Service
security: []
tags:
- name: Metadata
  description: Discover available project options and capabilities
paths:
  /:
    get:
      operationId: getMetadata
      summary: Get Initializr Metadata
      description: Returns the full metadata document describing all available project types, Spring Boot versions, dependencies, languages, Java versions, packaging options, and their defaults. Clients use this to present choices to the user before generating a project.
      tags:
      - Metadata
      responses:
        '200':
          description: Spring Initializr metadata
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InitializrMetadata'
            application/vnd.initializr.v2.2+json:
              schema:
                $ref: '#/components/schemas/InitializrMetadata'
  /dependencies:
    get:
      operationId: getDependencies
      summary: Get Available Dependencies
      description: Returns the list of available Spring Boot starter dependencies that can be added to a generated project. Results can be filtered by Spring Boot version compatibility.
      tags:
      - Metadata
      parameters:
      - name: bootVersion
        in: query
        required: false
        description: Filter dependencies by Spring Boot version compatibility
        schema:
          type: string
        example: 3.4.5
      responses:
        '200':
          description: Available dependencies
          content:
            application/vnd.initializr.v2.2+json:
              schema:
                $ref: '#/components/schemas/DependenciesResponse'
components:
  schemas:
    InitializrMetadata:
      type: object
      description: Full Spring Initializr capabilities metadata
      properties:
        dependencies:
          type: object
          description: Available dependencies grouped by category
          properties:
            type:
              type: string
              example: hierarchical-multi-select
            values:
              type: array
              items:
                $ref: '#/components/schemas/DependencyGroup'
        type:
          type: object
          description: Project type options
          properties:
            type:
              type: string
            default:
              type: string
            values:
              type: array
              items:
                $ref: '#/components/schemas/MetadataOption'
        bootVersion:
          type: object
          properties:
            type:
              type: string
            default:
              type: string
            values:
              type: array
              items:
                $ref: '#/components/schemas/MetadataOption'
        packaging:
          type: object
          properties:
            type:
              type: string
            default:
              type: string
            values:
              type: array
              items:
                $ref: '#/components/schemas/MetadataOption'
        javaVersion:
          type: object
          properties:
            type:
              type: string
            default:
              type: string
            values:
              type: array
              items:
                $ref: '#/components/schemas/MetadataOption'
        language:
          type: object
          properties:
            type:
              type: string
            default:
              type: string
            values:
              type: array
              items:
                $ref: '#/components/schemas/MetadataOption'
    Dependency:
      type: object
      properties:
        id:
          type: string
          example: web
        name:
          type: string
          example: Spring Web
        description:
          type: string
          example: Build web, including RESTful, applications using Spring MVC.
        compatibilityRange:
          type: string
          example: '[3.0.0,4.0.0-M1)'
    MetadataOption:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        default:
          type: boolean
    DependencyGroup:
      type: object
      properties:
        name:
          type: string
          example: Web
        values:
          type: array
          items:
            $ref: '#/components/schemas/Dependency'
    DependenciesResponse:
      type: object
      properties:
        bootVersion:
          type: string
          example: 3.4.5
        dependencies:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Dependency'
externalDocs:
  description: Spring Initializr Reference Documentation
  url: https://docs.spring.io/initializr/docs/current/reference/html/