HTTP 201 Created โ Meaning, Causes & How to Fix
The request succeeded and a new resource was created as a result.
- Code
- 201
- Name
- Created
- Class
- 2xx Success
- Specification
- RFC 9110 ยง15.3.2
- Cacheable by default
- Only with explicit Cache-Control / Expires
What HTTP 201 means
201 Created confirms that the request created one or more new resources. The Location header should point to the new resource (otherwise the request URL is assumed). It is typically returned by REST APIs after a successful POST or PUT.
Common causes
- A successful POST that inserted a record, uploaded a file or created an account.
How to fix it
For site owners
- Return a
Locationheader with the URL of the new resource. - Return the created representation (or an ID) in the body so clients avoid an extra request.
For visitors & developers
- Read the
Locationheader to find the new resource.
SEO impact
No SEO impact โ 201 is an API response to write requests, which crawlers do not make.
Example 201 response
HTTP/1.1 201 Created
Location: /api/orders/1042
Content-Type: application/json
{"id":1042,"status":"pending"}
Related status codes
Check or look up another code
Search and filter every code in the HTTP Status Codes tool, browse the full list by class, or read HTTP status codes explained: the complete developer guide.
Open HTTP Status Codes tool โAll status codesFrequently asked questions
What does HTTP 201 mean?
HTTP 201 Created is a 2xx Success status code. The request succeeded and a new resource was created as a result.
Should POST return 200 or 201?
Return 201 when the POST created a new resource (with a Location header), and 200 when it performed an action without creating one.
Which specification defines 201?
It is defined in RFC 9110 ยง15.3.2.
Is a 201 response cacheable?
Not by default. A 201 response is only stored by caches when it carries explicit freshness information such as Cache-Control: max-age or Expires.