TL;DR
DummyJSON provides comprehensive fake data for testing and prototyping — products, users, posts, comments, todos, quotes, recipes, and more. Each resource supports full CRUD operations and includes realistic fields with proper typing. Products have images, prices, ratings, and category tags. Users have names, emails, addresses, and company info. Search, filter, and paginate results. No API key required.
Quick start: https://dummyjson.com/products
No API key needed — free comprehensive test data!
How to Use This API
1. Get All Products
Returns paginated product list with 100 products:
https://dummyjson.com/products
2. Get Single Product
https://dummyjson.com/products/1
3. Search Products
https://dummyjson.com/products/search?q=phone
4. JavaScript — E-Commerce UI Data
fetch('https://dummyjson.com/products?limit=10')
.then(r => r.json())
.then(data => {
console.log(`Total products: ${data.total}`);
data.products.forEach(p => {
console.log(`${p.title} — $${p.price} (${p.discountPercentage}% off)`);
console.log(` Brand: ${p.brand}, Category: ${p.category}`);
console.log(` Rating: ${p.rating}/5, Stock: ${p.stock}`);
console.log(` Thumbnail: ${p.thumbnail}`);
});
});
5. Python — Users and Posts
import requests
# Get users with filtering
users = requests.get(
'https://dummyjson.com/users/filter',
params={'key': 'age', 'value': '25'}
).json()
print(f"Users aged 25: {users['total']}")
for u in users['users'][:3]:
print(f" {u['firstName']} {u['lastName']} — {u['email']}")
# Create a new post
new_post = requests.post('https://dummyjson.com/posts/add', json={
'title': 'My test post',
'body': 'This is a test post from the API',
'userId': 1,
'tags': ['test', 'api']
}).json()
print(f"\nCreated post ID: {new_post['id']}")
https://dummyjson.com/products?limit=5
Frequently Asked Questions
- What resources are available?
- Products (100 items), users (100), posts (150), comments (500), todos, quotes (100), recipes (50), and carts. Each resource has realistic, well-structured data.
- What CRUD operations are supported?
- GET (list, single), POST (create), PUT/PATCH (update), DELETE. Created/updated resources persist in memory but are reset periodically.
- How do I paginate and limit results?
- Use
?limit=10&skip=20for pagination. The response includestotal,skip, andlimitfields. Default is 30 items per page. - Can I search and filter data?
- Yes —
/products/search?q=keywordfor text search./users/filter?key=age&value=25for field-level filtering. Some endpoints support sorting with?sortBy=price&order=desc. - Are product images real URLs?
- Yes — products include
thumbnailandimagesarray with real-looking product image URLs from placeholder services. Images are appropriate for the product category. - Is there a rate limit?
- No strict rate limit. DummyJSON is free for development and testing. It's widely used in tutorials, demos, and prototyping. Data may reset periodically.
API Details
- API URL
https://dummyjson.com/- Documentation
- dummyjson.com/docs
- Category
- Development
- Authentication
- Not Required
- Methods
- GET, POST, PUT, PATCH, DELETE
What You Can Build
- Full e-commerce storefront with product browsing, search, and carts
- Social media feed mockup with posts, comments, and user profiles
- Admin dashboard with CRUD tables for multiple resource types
- Recipe book app with ingredients, instructions, and tags
- Test automation with realistic data across many data shapes