In almost every frontend project, sooner or later you need to work with data: render lists, open item pages, submit forms, test pagination, sorting, filters, and error handling.
For simple demo projects, you can use local data, localStorage, or JSON files inside the project. But it is often much more convenient when the app works with a real API: data can be fetched in the browser, updated, reused across projects, and shared with other people.
This article collects 5 free APIs from Pet Projects. You can connect them without a local backend and use them in pet projects, interview tasks, frontend demos, and learning projects.
1. Collections API — REST#
Collections API is a REST API that lets you create collections and fill them with your own JSON data.
You can create up to 3 collections. Each collection can contain up to 30 records, and each record can be up to 5 KB. In total, you can store up to 90 custom records with a combined size of 450 KB.
The main advantage of Collections API is that collections can be shared without an API key. This is useful for demo projects, portfolios, and examples where the data needs to be available to other users.
The API supports pagination, sorting, and response limits. This makes it useful for more realistic scenarios such as tables, lists, paginated loading, and limiting the number of returned items.
The free usage limit is 2000 requests per day across all collections. For regular demos, learning, and small frontend apps, this is usually more than enough.
2. JSON Storage API#
JSON Storage API is an API for storing JSON files and reading them directly in the browser.
It is useful when you need to quickly connect configuration data, mock data, a list of items, or any other JSON file to a project without setting up your own backend.
You can create up to 3 JSON files, each up to 50 KB in size. A file can be uploaded through the sandbox on the API page or managed through API requests.
Reading JSON files has no separate limit, which makes them convenient for public demos, documentation, and frontend apps. File management operations are limited to 10 requests per minute so the server is not overloaded.
3. Free REST API#
Free REST API is a simple REST API that lets you send and store any JSON data in the request body.
The API does not require a strict schema: you can use your own data structure as long as one record does not exceed 5 KB. The maximum number of records is 30.
The API uses FIFO behavior: when the record limit is exceeded, the oldest record is removed automatically and the new one is added instead. This means you do not need to manually track how many saved records you have.
The limit is 100 requests per minute. That is enough for learning, test interfaces, small demos, and simple apps.
4. Todos GraphQL API#
Todos GraphQL API is a GraphQL API with a strict schema for working with tasks.
It is useful if you want to practice GraphQL queries, mutations, types, variables, and schema-driven data access. The API supports creating, reading, and updating data through GraphQL.
There is also a built-in editor with prepared schema and query examples. You can quickly choose a request, fill in the data, and check how the API works.
The API supports pagination, sorting, filters, and response limits. This makes it useful for training on scenarios that are closer to real production apps.
The limit is 100 requests per minute.
5. Todos REST API#
Todos REST API is a REST API for working with tasks through strict data validation.
Unlike more flexible APIs, requests here must match a defined schema. This is helpful if you want to practice sending correct parameters, handling validation errors, and working with a predictable response shape.
The API works well for todo apps, learning projects, interview tasks, and CRUD practice with REST.
The limit is 100 requests per minute.
What to choose#
If you need custom datasets that can be shared without an API key, use Collections API.
If you need a simple JSON file that can be read in the browser without read limits, use JSON Storage API.
If you need the most flexible REST API without a strict schema and with higher practical freedom, use Free REST API.
If you want to practice GraphQL, use Todos GraphQL API.
If you need a REST API with strict validation, use Todos REST API.