openapi: 3.0.3
info:
title: SWAPI - Star Wars Films Planets API
description: "SWAPI (Star Wars API) is a free, open Star Wars REST API. It exposes canonical\nStar Wars data — films, people, planets, species, starships, and vehicles — across\nthe original and prequel trilogies and the Clone Wars era. SWAPI is widely used\nas a teaching API for REST clients, framework demos, MCP server tutorials, and\nJSON parser benchmarks.\n\nTwo community mirrors are commonly used:\n - swapi.dev (Python/Django port maintained by @juriy)\n - www.swapi.tech (Node/MongoDB port maintained by @semperry)\n\nThe original swapi.co project (by Paul Hallett / @phalt) is no longer maintained.\nThis OpenAPI describes the swapi.dev surface, which preserves the canonical SWAPI\nresponse shape (count / next / previous / results paginators and the flat resource\nschemas). The swapi.tech mirror wraps the same payloads inside `result.properties`.\n"
version: '1.0'
termsOfService: https://swapi.dev/
contact:
name: SWAPI Community
url: https://github.com/Juriy/swapi
license:
name: BSD-3-Clause
url: https://github.com/Juriy/swapi/blob/master/LICENSE
x-generated-from: documentation
x-last-validated: '2026-05-29'
servers:
- url: https://swapi.dev/api
description: swapi.dev — Python/Django mirror (primary)
- url: https://www.swapi.tech/api
description: swapi.tech — Node/MongoDB mirror (alternate)
tags:
- name: Planets
description: Planets featured across the Star Wars films.
paths:
/planets/:
get:
tags:
- Planets
operationId: listPlanets
summary: List All Planets
description: Returns a paginated list of planets featured in the Star Wars films.
parameters:
- $ref: '#/components/parameters/SearchParam'
- $ref: '#/components/parameters/PageParam'
responses:
'200':
description: A page of planets.
content:
application/json:
schema:
$ref: '#/components/schemas/PlanetList'
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/planets/{id}/:
get:
tags:
- Planets
operationId: getPlanet
summary: Get Planet By Id
description: Returns a single planet by its numeric SWAPI id.
parameters:
- $ref: '#/components/parameters/IdParam'
responses:
'200':
description: A single planet resource.
content:
application/json:
schema:
$ref: '#/components/schemas/Planet'
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
parameters:
IdParam:
name: id
in: path
required: true
description: Numeric SWAPI identifier for the resource.
schema:
type: integer
minimum: 1
example: 1
PageParam:
name: page
in: query
required: false
description: One-based page number for paginated list responses (10 items per page).
schema:
type: integer
minimum: 1
example: 1
SearchParam:
name: search
in: query
required: false
description: Case-insensitive partial match against the resource's main name/title field.
schema:
type: string
example: luke
responses:
NotFound:
description: Resource not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
PlanetList:
allOf:
- $ref: '#/components/schemas/Pagination'
- type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/Planet'
Pagination:
type: object
required:
- count
- results
properties:
count:
type: integer
description: Total number of resources in the collection.
example: 82
next:
type: string
nullable: true
format: uri
description: URL of the next page, or null if this is the last page.
example: https://swapi.dev/api/people/?page=2
previous:
type: string
nullable: true
format: uri
description: URL of the previous page, or null if this is the first page.
example: null
Error:
type: object
properties:
detail:
type: string
example: Not found.
Planet:
type: object
description: A planet within the Star Wars universe.
required:
- name
- url
properties:
name:
type: string
example: Tatooine
rotation_period:
type: string
description: Number of standard hours it takes for the planet to complete a single rotation on its axis.
example: '23'
orbital_period:
type: string
description: Number of standard days it takes to orbit its star.
example: '304'
diameter:
type: string
description: Diameter of the planet in kilometers.
example: '10465'
climate:
type: string
example: arid
gravity:
type: string
example: 1 standard
terrain:
type: string
example: desert
surface_water:
type: string
description: Percentage of the planet surface that is naturally occurring water or bodies of water.
example: '1'
population:
type: string
example: '200000'
residents:
type: array
items:
type: string
format: uri
films:
type: array
items:
type: string
format: uri
created:
type: string
format: date-time
edited:
type: string
format: date-time
url:
type: string
format: uri
externalDocs:
description: SWAPI Documentation (swapi.dev)
url: https://swapi.dev/documentation