В любом frontend-проекте рано или поздно нужно работать с данными: получать список элементов, открывать карточку, отправлять форму, проверять пагинацию, сортировку, фильтры и обработку ошибок.
Для простых demo-проектов можно использовать локальные данные, localStorage или JSON-файлы внутри проекта. Но гораздо удобнее, когда приложение работает с настоящим API: данные можно получать из браузера, обновлять, переиспользовать в разных проектах и делиться ими с другими.
В этой статье собраны 5 бесплатных API из Pet Projects. Их можно подключить без локального backend, использовать в pet projects, тестовых заданиях, frontend-демо и учебных проектах.
1. Collections API — REST#
Collections API — это REST API, которое позволяет создавать коллекции и заполнять их собственными JSON-данными.
Можно создать до 3 коллекций. В каждой коллекции может быть до 30 записей, а размер одной записи — до 5 KB. В итоге можно хранить до 90 собственных записей общим объемом до 450 KB.
Главное преимущество Collections API в том, что коллекциями можно делиться без API-ключа. Это удобно для demo-проектов, портфолио и примеров, где данные должны быть доступны другим пользователям.
API поддерживает пагинацию, сортировку и лимиты выдачи. Благодаря этому можно потренироваться работать с более реалистичными сценариями: таблицами, списками, постраничной загрузкой и ограничением количества данных в ответе.
Лимит бесплатного использования — 2000 запросов в день на все коллекции. Для обычных demo-проектов, обучения и небольших frontend-приложений этого обычно более чем достаточно.
2. JSON Storage API#
JSON Storage API — это API для хранения JSON-файлов и чтения их напрямую из браузера.
Сервис подходит для случаев, когда нужно быстро подключить к проекту конфигурацию, моковые данные, список элементов или другой JSON-файл без настройки собственного backend.
Можно создать до 3 JSON-файлов, каждый размером до 50 KB. Файл можно загрузить через песочницу на странице API или управлять им через API-запросы.
Чтение JSON-файлов не имеет отдельного лимита, поэтому их удобно использовать в публичных demo-проектах, документации и frontend-приложениях. Изменение и управление файлами ограничено лимитом 10 запросов в минуту, чтобы не перегружать сервер.
3. Free REST API#
Free REST API — это простой REST API, который позволяет отправлять и сохранять любые JSON-данные в теле запроса.
API не требует строгой схемы: вы можете использовать свою структуру данных, главное — чтобы размер одной записи не превышал 5 KB. Максимальное количество записей — 30.
API работает по принципу FIFO: если лимит записей превышен, самая старая запись автоматически удаляется, а новая добавляется. Благодаря этому не нужно вручную следить за количеством сохраненных данных.
Лимит — 100 запросов в минуту. Этого достаточно для обучения, тестовых интерфейсов, небольших demo-проектов и простых приложений.
4. Todos GraphQL API#
Todos GraphQL API — это GraphQL API со строгой схемой для работы с задачами.
Его удобно использовать, если вы хотите потренироваться с GraphQL-запросами, мутациями, типами, переменными и схемой данных. API поддерживает создание, получение и изменение данных через GraphQL.
Также доступен встроенный редактор, где уже подготовлены примеры схем и запросов. Можно быстро выбрать нужный запрос, подставить данные и проверить, как работает API.
API поддерживает пагинацию, сортировку, фильтры и лимиты выдачи. Это делает его полезным для тренировки более реальных сценариев, которые часто встречаются в реальных приложениях.
Лимит — 100 запросов в минуту.
5. Todos REST API#
Todos REST API — это REST API для работы с задачами со строгой валидацией данных.
В отличие от более гибких API, здесь запросы должны соответствовать определенной схеме. Это удобно, если нужно потренироваться отправлять корректные параметры, обрабатывать ошибки валидации и работать с предсказуемой структурой данных.
API хорошо подходит для todo-приложений, учебных проектов, тестовых заданий и тренировки CRUD-сценариев на REST.
Лимит — 100 запросов в минуту.
Что выбрать#
Если нужны собственные коллекции данных, которыми можно делиться без API-ключа, — используйте Collections API.
Если нужен простой JSON-файл для чтения из браузера без лимитов — JSON Storage API.
Если нужен максимально гибкий REST API без строгой схемы и с большими лимитами — Free REST API.
Если хотите потренироваться с GraphQL — Todos GraphQL API.
Если нужен REST API со строгой валидацией — Todos REST API.