Discover/jsonplaceholder.typicode.com API
live

jsonplaceholder.typicode.com APIjsonplaceholder.typicode.com

Access JSONPlaceholder's full fake REST API: posts, comments, albums, photos, todos, and users. 40 endpoints for testing and prototyping.

Endpoints
40
Updated
11d ago
Try it
Filter posts by user ID (1-10).
api.parse.bot/scraper/fb23009a-bb34-498d-8d88-5b085f983739/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Use it in your codegrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/fb23009a-bb34-498d-8d88-5b085f983739/get_posts?user_id=1' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 40 totalclick to expand

Get all posts or filter by userId. Returns an array of post objects. The dataset contains 100 posts spanning userId 1-10 with 10 posts per user.

Input
ParamTypeDescription
user_idintegerFilter posts by user ID (1-10).
Response
{
  "type": "object",
  "fields": {
    "data": "array of post objects, each with userId, id, title, body",
    "status": "string"
  },
  "sample": {
    "data": [
      {
        "id": 1,
        "body": "quia et suscipit...",
        "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
        "userId": 1
      }
    ],
    "status": "success"
  }
}

About the jsonplaceholder.typicode.com API

This API exposes all 40 endpoints of JSONPlaceholder, a static fake REST dataset commonly used for testing and prototyping. It covers six resource types — posts, comments, albums, photos, todos, and users — with full CRUD operations on each. For example, get_posts returns an array of 100 post objects (fields: userId, id, title, body), and you can filter by user_id to scope results to any of the 10 fictional users in the dataset.

Posts and Comments

The posts collection contains 100 records spread evenly across user IDs 1–10. get_posts accepts an optional user_id integer to return only that user's 10 posts. get_post retrieves a single record by post_id (1–100) and returns userId, id, title, and body. The comments collection has 500 records, exactly 5 per post. You can fetch them either via get_post_comments (nested path, requires post_id) or via get_comments with an optional post_id filter. Each comment object carries postId, id, name, email, and body.

Write Operations

All six resource types support create, full-update (PUT), partial-update (PATCH), and delete verbs. create_post expects title, body, and user_id; it always echoes back id: 101 because the dataset is static — no record is actually persisted. The same mock behavior applies to update_post, patch_post, and delete_post. patch_post is the only write endpoint that accepts a subset of fields; omitted fields reflect the original stored values in the response.

Albums and Photos

get_albums returns 100 album objects (userId, id, title), filterable by user_id. get_album_photos uses the nested resource path and returns all 50 photos for a given album. Each photo object includes albumId, id, title, url, and thumbnailUrl. The url and thumbnailUrl fields point to placeholder image URLs in the JSONPlaceholder dataset — they are not real hosted images.

Common use cases
  • Prototype a blog UI against real-shaped post and comment data before wiring a production backend.
  • Test pagination logic using the fixed 100-post or 500-comment dataset with predictable record counts.
  • Validate client-side form submission flows using the mock create_post and create_comment endpoints.
  • Build and test a photo gallery component using get_album_photos which returns url and thumbnailUrl per photo.
  • Teach REST API fundamentals — GET, POST, PUT, PATCH, DELETE — using a live endpoint with known response shapes.
  • Integration-test error handling by requesting out-of-range IDs (e.g., post_id > 100) to observe 404 behavior.
  • Verify that a PATCH implementation correctly merges partial fields using patch_post or patch_comment.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000250 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does JSONPlaceholder have an official developer API?+
Yes. JSONPlaceholder is itself a free public REST API maintained by typicode. Its documentation is at https://jsonplaceholder.typicode.com/guide/. This Parse API surfaces the same endpoints in a standardized interface.
What does `get_post_comments` return compared to `get_comments`?+
get_post_comments uses the nested /posts/{id}/comments path and requires a post_id; it always returns exactly 5 comment objects for that post. get_comments hits the flat /comments collection and accepts an optional post_id query parameter. Both return identical comment object shapes: postId, id, name, email, and body.
Do write operations (create, update, delete) actually modify data?+
No. JSONPlaceholder is a static fake dataset. All write operations are simulated: create_post always returns id: 101, create_comment always returns id: 501, and delete endpoints return an empty object. No state is persisted between requests.
Does this API cover the todos and users resources?+
Not currently. The 40 endpoints listed cover posts, comments, albums, and photos in full. The JSONPlaceholder dataset also includes todos (200 records) and users (10 records) but those endpoints are not part of this API. You can fork it on Parse and revise to add the missing todo and user endpoints.
Can I filter posts or comments by fields other than user ID or post ID?+
Not currently. get_posts filters only by user_id and get_comments filters only by post_id; no full-text, date, or title filtering is available in the dataset. You can fork this API on Parse and revise it to add client-side filtering logic over the returned arrays.
Page content last updated . Spec covers 40 endpoints from jsonplaceholder.typicode.com.
Related APIs in Developer ToolsSee all →
arxiv.org API
Search and discover academic research papers on arXiv using keywords, authors, titles, categories, and dates, then access detailed metadata for any paper. Browse the complete arXiv category taxonomy to explore research across different scientific disciplines.
sketchfab.com API
Search and browse 3D models on Sketchfab, including filtering by category, license, animation, and downloadability. Retrieve detailed model metadata, creator profiles, collections, thumbnails, tags, and viewer configuration options.
theresanaiforthat.com API
Search and discover AI tools across different tasks, get detailed information about specific tools, browse available deals, and stay updated on the latest tools. Find the perfect AI solution for your needs by filtering by task category or checking featured and trending tools.
oeis.org API
Search OEIS for integer sequences by keyword, A-number, or known terms, then retrieve full sequence entries and b-file term data.
duden.de API
Get German verb conjugations, parts of speech, and usage frequency from Duden's comprehensive database. Quickly look up how to conjugate any German verb across all tenses and moods.
nvidia.com API
nvidia.com API
alienvault.com API
Search and analyze global threat intelligence data including indicators of compromise, threat pulses, and adversary profiles from the Open Threat Exchange community. Monitor recent security alerts and access detailed information about threats and adversaries to strengthen your cybersecurity defenses.
mvnrepository.com API
Search Maven artifacts and retrieve detailed information about Java libraries, including artifact details, relocation notices, and popular package rankings. Find the exact dependencies you need and discover trending open-source projects in the Maven ecosystem.
JSONPlaceholder API – Posts, Users & More · Parse