Home
Providers
JSONPlaceholder
JSONPlaceholder
JSONPlaceholder is a free, no-auth fake REST API for prototyping, tutorials, and testing. It exposes six relational resources — posts, comments, albums, photos, todos, and users — over six standard REST routes per resource. All write operations (POST, PUT, PATCH, DELETE) are accepted and respond as if successful, but no changes are persisted. The service is built on the open-source json-server engine (also by typicode) and serves billions of requests per month with no rate limits or authentication.
JSONPlaceholder publishes 6 APIs on the APIs.io network, including Albums API, Comments API, Photos API, and 3 more. Tagged areas include Development, Testing, Prototyping, Fake API, and Open Source.
The JSONPlaceholder catalog on APIs.io includes 1 JSON-LD context and 2 Spectral governance rulesets.
JSONPlaceholder’s developer surface includes getting-started guide, engineering blog, and 12 more developer resources.
6 APIs
8 Features
6 Use Cases
Development Testing Prototyping Fake API Open Source REST
On this page
Kin Score
APIs 6
Open Collections 1
Pricing Plans 1
Rate Limits 1
Features 8
Vocabularies 1
Spectral Rules 2
JSON Schema 6
JSON Structure 6
Examples 6
Security Posture 1
Agentic Access 1
Use Cases 6
Integrations 5
Solutions 2
Resources 14
apis.yml
26 Operational Transparency
Composite quality — 40.7/100 · thin
Contract Quality
14.1 / 25
Developer Ergonomics
2.6 / 20
Commercial Clarity
4.2 / 20
Operational Transparency
3.4 / 13
Agent readiness — 25/100 · agent aware
Machine-Readable Contract
18 / 18
Agentic Access Contract
10 / 10
MCP Server
0 / 12
Machine-Readable Auth
0 / 10
Idempotency
0 / 9
Stable Error Semantics
0 / 8
Request/Response Examples
7 / 7
Rate-Limit Signaling
7 / 7
Typed Event Surface
0 / 6
Agent Skills
0 / 5
Well-Known Catalog
0 / 4
Consent & Bot Identity
0 / 3
A2A Agent Card
0 / 8
Dry-Run / Simulate Mode
0 / 4
Individual APIs this provider publishes, each with its own machine-readable definition.
Open, tool-agnostic API collections (OpenAPI-derived and Bruno).
Published pricing tiers and plan structures.
Documented rate limits and quota policies.
Notable capabilities this provider offers.
Scroll for all 8
JSON-LD contexts and semantic vocabularies used across these APIs.
Spectral governance rulesets for linting and validating these APIs.
Standalone JSON Schema definitions for this provider's data models.
JSON Structure definitions describing this provider's data shapes.
Example request and response payloads for these APIs.
Authentication, domain security, vulnerability disclosure, and trust-center signals.
Recommended x-agentic-access execution contracts for AI agents.
What developers build with this provider.
Pre-built integrations with other platforms and tools.
Packaged solutions this provider offers.
Get Started 1
Portal, sign-up, and the first successful call
Agent Surfaces 1
MCP servers, agent skills, and machine-readable catalogs
Design & Contract 2
Pagination, idempotency, versioning, errors, and events
Build 4
SDKs, sample code, and the tooling you integrate with
Access & Security 1
Authentication, authorization, and security posture
Operate 1
Status, limits, changes, and where to get help
Commercial 1
Pricing, plans, and the legal terms of use
Company 2
The organization behind the API
Other 1
Properties that don't map to a standard resource type
Source (apis.yml)
aid: jsonplaceholder
accessModel:
pricing: free
onboarding: open
trial: false
try_now: true
public: true
label: Free · Open access
confidence: medium
source:
- plans
generated: '2026-07-22'
method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/jsonplaceholder.png
name: JSONPlaceholder
description: JSONPlaceholder is a free, no-auth fake REST API for prototyping, tutorials, and testing. It exposes six relational
resources — posts, comments, albums, photos, todos, and users — over six standard REST routes per resource. All write operations
(POST, PUT, PATCH, DELETE) are accepted and respond as if successful, but no changes are persisted. The service is built
on the open-source json-server engine (also by typicode) and serves billions of requests per month with no rate limits or
authentication.
url: https://jsonplaceholder.typicode.com
baseURL: https://jsonplaceholder.typicode.com
specificationVersion: '0.20'
created: '2026-05-28'
modified: '2026-05-29'
x-source: public-apis/public-apis
x-category: Development
x-type: opensource
x-tier: 3
x-tier-reason: free-public-prototyping-service-backed-by-open-source
tags:
- Development
- Testing
- Prototyping
- Fake API
- Open Source
- REST
apis:
- aid: jsonplaceholder:jsonplaceholder-albums-api
name: JSONPlaceholder Albums API
description: 100 sample photo albums owned by users
humanURL: https://jsonplaceholder.typicode.com
baseURL: https://jsonplaceholder.typicode.com
tags:
- Albums
properties:
- type: OpenAPI
url: openapi/jsonplaceholder-albums-api-openapi.yml
- type: Documentation
url: https://jsonplaceholder.typicode.com
- type: GettingStarted
url: https://jsonplaceholder.typicode.com/guide/
- type: JSONSchema
url: json-schema/jsonplaceholder-post-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-comment-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-album-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-photo-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-todo-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-user-schema.json
- type: JSONStructure
url: json-structure/jsonplaceholder-post-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-comment-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-album-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-photo-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-todo-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-user-structure.json
- type: JSONLD
url: json-ld/jsonplaceholder-context.jsonld
- type: Examples
url: examples/jsonplaceholder-post-example.json
- type: Examples
url: examples/jsonplaceholder-comment-example.json
- type: Examples
url: examples/jsonplaceholder-album-example.json
- type: Examples
url: examples/jsonplaceholder-photo-example.json
- type: Examples
url: examples/jsonplaceholder-todo-example.json
- type: Examples
url: examples/jsonplaceholder-user-example.json
- aid: jsonplaceholder:jsonplaceholder-comments-api
name: JSONPlaceholder Comments API
description: 500 sample comments belonging to posts
humanURL: https://jsonplaceholder.typicode.com
baseURL: https://jsonplaceholder.typicode.com
tags:
- Comments
properties:
- type: OpenAPI
url: openapi/jsonplaceholder-comments-api-openapi.yml
- type: Documentation
url: https://jsonplaceholder.typicode.com
- type: GettingStarted
url: https://jsonplaceholder.typicode.com/guide/
- type: JSONSchema
url: json-schema/jsonplaceholder-post-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-comment-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-album-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-photo-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-todo-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-user-schema.json
- type: JSONStructure
url: json-structure/jsonplaceholder-post-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-comment-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-album-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-photo-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-todo-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-user-structure.json
- type: JSONLD
url: json-ld/jsonplaceholder-context.jsonld
- type: Examples
url: examples/jsonplaceholder-post-example.json
- type: Examples
url: examples/jsonplaceholder-comment-example.json
- type: Examples
url: examples/jsonplaceholder-album-example.json
- type: Examples
url: examples/jsonplaceholder-photo-example.json
- type: Examples
url: examples/jsonplaceholder-todo-example.json
- type: Examples
url: examples/jsonplaceholder-user-example.json
- aid: jsonplaceholder:jsonplaceholder-photos-api
name: JSONPlaceholder Photos API
description: 5000 sample photos belonging to albums
humanURL: https://jsonplaceholder.typicode.com
baseURL: https://jsonplaceholder.typicode.com
tags:
- Photos
properties:
- type: OpenAPI
url: openapi/jsonplaceholder-photos-api-openapi.yml
- type: Documentation
url: https://jsonplaceholder.typicode.com
- type: GettingStarted
url: https://jsonplaceholder.typicode.com/guide/
- type: JSONSchema
url: json-schema/jsonplaceholder-post-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-comment-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-album-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-photo-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-todo-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-user-schema.json
- type: JSONStructure
url: json-structure/jsonplaceholder-post-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-comment-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-album-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-photo-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-todo-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-user-structure.json
- type: JSONLD
url: json-ld/jsonplaceholder-context.jsonld
- type: Examples
url: examples/jsonplaceholder-post-example.json
- type: Examples
url: examples/jsonplaceholder-comment-example.json
- type: Examples
url: examples/jsonplaceholder-album-example.json
- type: Examples
url: examples/jsonplaceholder-photo-example.json
- type: Examples
url: examples/jsonplaceholder-todo-example.json
- type: Examples
url: examples/jsonplaceholder-user-example.json
- aid: jsonplaceholder:jsonplaceholder-posts-api
name: JSONPlaceholder Posts API
description: 100 sample blog posts owned by users
humanURL: https://jsonplaceholder.typicode.com
baseURL: https://jsonplaceholder.typicode.com
tags:
- Posts
properties:
- type: OpenAPI
url: openapi/jsonplaceholder-posts-api-openapi.yml
- type: Documentation
url: https://jsonplaceholder.typicode.com
- type: GettingStarted
url: https://jsonplaceholder.typicode.com/guide/
- type: JSONSchema
url: json-schema/jsonplaceholder-post-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-comment-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-album-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-photo-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-todo-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-user-schema.json
- type: JSONStructure
url: json-structure/jsonplaceholder-post-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-comment-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-album-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-photo-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-todo-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-user-structure.json
- type: JSONLD
url: json-ld/jsonplaceholder-context.jsonld
- type: Examples
url: examples/jsonplaceholder-post-example.json
- type: Examples
url: examples/jsonplaceholder-comment-example.json
- type: Examples
url: examples/jsonplaceholder-album-example.json
- type: Examples
url: examples/jsonplaceholder-photo-example.json
- type: Examples
url: examples/jsonplaceholder-todo-example.json
- type: Examples
url: examples/jsonplaceholder-user-example.json
- aid: jsonplaceholder:jsonplaceholder-todos-api
name: JSONPlaceholder Todos API
description: 200 sample todo items owned by users
humanURL: https://jsonplaceholder.typicode.com
baseURL: https://jsonplaceholder.typicode.com
tags:
- Todos
properties:
- type: OpenAPI
url: openapi/jsonplaceholder-todos-api-openapi.yml
- type: Documentation
url: https://jsonplaceholder.typicode.com
- type: GettingStarted
url: https://jsonplaceholder.typicode.com/guide/
- type: JSONSchema
url: json-schema/jsonplaceholder-post-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-comment-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-album-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-photo-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-todo-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-user-schema.json
- type: JSONStructure
url: json-structure/jsonplaceholder-post-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-comment-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-album-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-photo-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-todo-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-user-structure.json
- type: JSONLD
url: json-ld/jsonplaceholder-context.jsonld
- type: Examples
url: examples/jsonplaceholder-post-example.json
- type: Examples
url: examples/jsonplaceholder-comment-example.json
- type: Examples
url: examples/jsonplaceholder-album-example.json
- type: Examples
url: examples/jsonplaceholder-photo-example.json
- type: Examples
url: examples/jsonplaceholder-todo-example.json
- type: Examples
url: examples/jsonplaceholder-user-example.json
- aid: jsonplaceholder:jsonplaceholder-users-api
name: JSONPlaceholder Users API
description: 10 sample users with profile, address, and company metadata
humanURL: https://jsonplaceholder.typicode.com
baseURL: https://jsonplaceholder.typicode.com
tags:
- Users
properties:
- type: OpenAPI
url: openapi/jsonplaceholder-users-api-openapi.yml
- type: Documentation
url: https://jsonplaceholder.typicode.com
- type: GettingStarted
url: https://jsonplaceholder.typicode.com/guide/
- type: JSONSchema
url: json-schema/jsonplaceholder-post-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-comment-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-album-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-photo-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-todo-schema.json
- type: JSONSchema
url: json-schema/jsonplaceholder-user-schema.json
- type: JSONStructure
url: json-structure/jsonplaceholder-post-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-comment-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-album-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-photo-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-todo-structure.json
- type: JSONStructure
url: json-structure/jsonplaceholder-user-structure.json
- type: JSONLD
url: json-ld/jsonplaceholder-context.jsonld
- type: Examples
url: examples/jsonplaceholder-post-example.json
- type: Examples
url: examples/jsonplaceholder-comment-example.json
- type: Examples
url: examples/jsonplaceholder-album-example.json
- type: Examples
url: examples/jsonplaceholder-photo-example.json
- type: Examples
url: examples/jsonplaceholder-todo-example.json
- type: Examples
url: examples/jsonplaceholder-user-example.json
common:
- type: AgenticAccess
url: agentic-access/jsonplaceholder-agentic-access.yml
- type: DomainSecurity
url: security/jsonplaceholder-domain-security.yml
- type: Website
url: https://jsonplaceholder.typicode.com
- type: GettingStarted
url: https://jsonplaceholder.typicode.com/guide/
- type: GitHubRepository
url: https://github.com/typicode/jsonplaceholder
title: JSONPlaceholder Source
- type: GitHubRepository
url: https://github.com/typicode/json-server
title: json-server (Engine)
- type: GitHubRepository
url: https://github.com/typicode/lowdb
title: lowdb (Storage)
- type: GitHubOrganization
url: https://github.com/typicode
- type: Blog
url: https://blog.typicode.com
- type: PublicAPIsListing
url: https://github.com/public-apis/public-apis
- type: Plans
url: plans/jsonplaceholder-plans-pricing.yml
- type: RateLimits
url: rate-limits/jsonplaceholder-rate-limits.yml
- type: SpectralRules
url: rules/jsonplaceholder-rules.yml
- type: Vocabulary
url: vocabulary/jsonplaceholder-vocabulary.yml
- type: Features
data:
- name: Six Relational Resources
description: Posts, comments, albums, photos, todos, and users with realistic relationships between them (posts belong
to users, comments belong to posts, etc.).
- name: Full REST Surface
description: GET, POST, PUT, PATCH, and DELETE methods are accepted on every resource — write operations simulate success
without persisting changes.
- name: Nested Routes
description: Single-level nested access such as /posts/1/comments, /albums/1/photos, and /users/1/todos for relational
queries.
- name: Query Filtering
description: Basic query-string filtering on any resource field (e.g. /comments?postId=1, /posts?userId=1).
- name: No Authentication
description: Open to the public — no API keys, OAuth, or signup required. Use it in tutorials, sandboxes, and frontend
demos freely.
- name: No Rate Limits
description: The service does not publish or enforce documented rate limits and routinely serves about three billion requests
per month.
- name: CORS Enabled
description: All origins are allowed, making the service usable directly from browser-based applications without a proxy.
- name: HTTPS Only
description: Served exclusively over HTTPS for safe inclusion in modern web tutorials and demos.
- type: UseCases
data:
- name: Frontend Prototyping
description: Wire up React, Vue, Angular, or Svelte tutorials against a real HTTP endpoint without standing up a backend.
- name: API Client Testing
description: Exercise HTTP client libraries (fetch, axios, requests, OkHttp) against a stable public REST surface.
- name: Tutorial and Courseware
description: Power coding tutorials, bootcamp exercises, and conference workshops that need a deterministic JSON API.
- name: Mobile App Demos
description: Drive iOS and Android sample apps that demonstrate networking, list rendering, and CRUD flows.
- name: Tooling QA
description: Smoke-test API generators, codegen tools, SDK builders, and OpenAPI tooling against a stable real-world API.
- name: Workshop Sandboxes
description: Provide a no-signup HTTP API for hands-on workshops where participants cannot wait for credentials.
- type: Integrations
data:
- name: json-server
description: The open-source engine that powers JSONPlaceholder — runs the same fake REST API locally with a single command.
- name: lowdb
description: The tiny local JSON database that json-server uses for storage; ships from the same typicode org.
- name: Postman
description: Public collections wrap JSONPlaceholder for quick HTTP exploration and learning.
- name: Hoppscotch
description: Frequently used as the default example endpoint in HTTP clients including Hoppscotch and Insomnia.
- name: MSW (Mock Service Worker)
description: Often paired with MSW so frontend tests can intercept and stub JSONPlaceholder traffic deterministically.
- type: Solutions
data:
- name: Local Mirror via json-server
description: For teams that need write persistence or offline development, install json-server, point it at a local db.json,
and reproduce JSONPlaceholder routes verbatim.
- name: My JSON Server
description: typicode operates an additional service (My JSON Server) that turns any GitHub-hosted db.json into a personal
hosted fake REST API.
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com