Spring Framework Project Generation API

Generate new Spring Boot project archives

Operations 2

GET /starter.zip Generate Project ZIP #
GET /starter.tgz Generate Project TGZ #

Documentation

Specifications

Schemas & Data

Other Resources

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-project-generation-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-project-generation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Spring Initializr Project Generation 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: Project Generation
  description: Generate new Spring Boot project archives
paths:
  /starter.zip:
    get:
      operationId: generateProjectZip
      summary: Generate Project ZIP
      description: Generates a new Spring Boot project and returns it as a ZIP archive. Specify the project group, artifact, dependencies, Java version, Spring Boot version, and other options via query parameters.
      tags:
      - Project Generation
      parameters:
      - $ref: '#/components/parameters/type'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/bootVersion'
      - $ref: '#/components/parameters/baseDir'
      - $ref: '#/components/parameters/groupId'
      - $ref: '#/components/parameters/artifactId'
      - $ref: '#/components/parameters/name'
      - $ref: '#/components/parameters/description'
      - $ref: '#/components/parameters/packageName'
      - $ref: '#/components/parameters/packaging'
      - $ref: '#/components/parameters/javaVersion'
      - $ref: '#/components/parameters/dependencies'
      responses:
        '200':
          description: ZIP archive of the generated project
          content:
            application/zip:
              schema:
                type: string
                format: binary
  /starter.tgz:
    get:
      operationId: generateProjectTgz
      summary: Generate Project TGZ
      description: Generates a new Spring Boot project and returns it as a tar.gz archive. Accepts the same query parameters as the ZIP endpoint.
      tags:
      - Project Generation
      parameters:
      - $ref: '#/components/parameters/type'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/bootVersion'
      - $ref: '#/components/parameters/baseDir'
      - $ref: '#/components/parameters/groupId'
      - $ref: '#/components/parameters/artifactId'
      - $ref: '#/components/parameters/name'
      - $ref: '#/components/parameters/description'
      - $ref: '#/components/parameters/packageName'
      - $ref: '#/components/parameters/packaging'
      - $ref: '#/components/parameters/javaVersion'
      - $ref: '#/components/parameters/dependencies'
      responses:
        '200':
          description: TGZ archive of the generated project
          content:
            application/x-tar:
              schema:
                type: string
                format: binary
components:
  parameters:
    description:
      name: description
      in: query
      required: false
      description: Project description
      schema:
        type: string
        default: Demo project for Spring Boot
    javaVersion:
      name: javaVersion
      in: query
      required: false
      description: Java version
      schema:
        type: string
        enum:
        - '21'
        - '17'
        - '11'
        default: '21'
    name:
      name: name
      in: query
      required: false
      description: Project name
      schema:
        type: string
        default: demo
    type:
      name: type
      in: query
      required: false
      description: Project type (build system)
      schema:
        type: string
        enum:
        - maven-project
        - gradle-project
        - gradle-project-kotlin
        default: maven-project
    dependencies:
      name: dependencies
      in: query
      required: false
      description: Comma-separated list of dependency IDs to include (e.g., web,data-jpa,security,actuator)
      schema:
        type: string
      example: web,data-jpa,security,actuator,lombok
    packageName:
      name: packageName
      in: query
      required: false
      description: Root Java package name
      schema:
        type: string
        default: com.example.demo
    bootVersion:
      name: bootVersion
      in: query
      required: false
      description: Spring Boot version
      schema:
        type: string
      example: 3.4.5
    language:
      name: language
      in: query
      required: false
      description: Programming language
      schema:
        type: string
        enum:
        - java
        - kotlin
        - groovy
        default: java
    groupId:
      name: groupId
      in: query
      required: false
      description: Maven group ID
      schema:
        type: string
        default: com.example
    packaging:
      name: packaging
      in: query
      required: false
      description: Packaging type
      schema:
        type: string
        enum:
        - jar
        - war
        default: jar
    baseDir:
      name: baseDir
      in: query
      required: false
      description: Base directory for the generated project archive
      schema:
        type: string
      example: demo
    artifactId:
      name: artifactId
      in: query
      required: false
      description: Maven artifact ID / project name
      schema:
        type: string
        default: demo
externalDocs:
  description: Spring Initializr Reference Documentation
  url: https://docs.spring.io/initializr/docs/current/reference/html/