# 300 Multiple Choices

> The request has more than one possible response and the user agent or user should choose one.

Source: https://apiguide.dev/status-codes/300
Class: redirection
Defined in: RFC 9110, Section 15.4.1 <https://www.rfc-editor.org/rfc/rfc9110.html#section-15.4.1>
Updated: 2026-09-24

## What does HTTP status code 300 mean?

The 300 Multiple Choices status code indicates that the requested resource has multiple representations, each with its own location.

## When to use it in APIs

Can be used in content negotiation where a resource is available in multiple formats (e.g. JSON, XML, CSV) and the client did not specify an Accept header. In practice this is rare, and almost no real-world APIs implement server-driven negotiation this way, preferring a single default representation or a 406 when the Accept header can't be satisfied.

## How it compares to other codes

* **301 Moved Permanently**: Directs to one single location, whereas 300 offers options.
