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
1mo 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 →
reddit.com API
Search Reddit posts and comments across any subreddit. Retrieve post discussions with full comment threads, search by keyword, and browse subreddit feeds by category (hot, new, top, rising) with flexible sorting and pagination.
toutiao.com API
Browse personalized news feeds, discover trending articles and hot topics, search content across categories, view detailed articles with comments, and explore author profiles on Toutiao. Access video feeds and stay updated with the latest news and trending stories all in one place.
insights.trendforce.com API
Access semiconductor and AI industry analysis articles from TrendForce Insights, browsing post listings and retrieving full article content organized into text sections and figures. Perfect for staying updated on tech industry trends and feeding structured article data into language models for analysis.
smashingmagazine.com API
Access Smashing Magazine's library of articles, books, ebooks, newsletters, and events with powerful search and filtering capabilities. Browse by category, discover related content, explore author profiles, and stay updated with the latest design and web development resources.
toolify.ai API
toolify.ai API
x.com API
Retrieve posts and profile information from X (Twitter) user timelines by specifying a username. Access live post data, engagement metrics, and user profile details for any public account.
eu-startups.com API
Access the EU-Startups investor database, startup directory, job board, and news articles. Search and filter investors by type and country, browse startups, and retrieve detailed profiles.
explodingtopics.com API
Discover rapidly growing trends, emerging startups, and top-performing websites by filtering through trending topics by category and volatility. Programmatically access detailed trend analysis, related topics, blog coverage, and curated highlights to stay ahead of market movements.