Skip to content
api online

34 realistic APIs.
Zero sign-up. One fetch.

PhantomJSON serves relational, queryable data across e-commerce, social, organizations, and travel — no keys, no accounts, no backend required.

v1 versionedNo API keysFree & open source
4Domainsecommerce · social · orgs · travel
34Resourcesreal, cross-linked collections
8Query capabilitiespage · limit · sort · q · fields
0Sign-up requiredno keys, no accounts
Core capabilities

Everything a real API ships with

The query tooling you expect from a production API, available on every /v1 request.

Realistic APIs

Fat, believable records — names, prices, ratings, and relationships — instead of lorem ipsum.

Pagination

Page and limit any collection, with meta that always tells you where you are.

Filtering

Narrow results by any field, the same way you will on the real backend.

Sorting

Order per property with sort=price:asc syntax.

Full-text search

Find records with q across the fields that matter to your screen.

Field selection

Trim payloads with fields so your app stays lean on the wire.

Resource relationships

Nested routes like /users/:id/posts keep related data one request away.

Rate limits & versioning

Throttled and versioned, so it behaves like a production API.

Domains

One API, four domains

Realistic, relational data across the categories developers actually build for.

Query parameters

Query it like it's production

Every collection speaks the same parameter language. Learn it once, apply it everywhere.

PaginationGET /v1/products?page=2&limit=20Walk any collection, page by page
FilteringGET /v1/products?categoryId=3Narrow results by any field
SortingGET /v1/products?sort=price:ascOrder per property
Full-text searchGET /v1/products?q=headphonesSearch across the fields that matter
Field selectionGET /v1/products?fields=id,name,priceTrim the payload, keep the bundle lean
Why PhantomJSON

Everything you need to prototype against a real API

You shouldn't have to stand up a backend, hand-roll mock data, or fake your way through loading states just to try an idea.

  • Realistic relational data

    Cross-linked resources with real foreign keys — users own posts, albums own photos.

  • Consistent response envelope

    Every call returns the same { data, meta } shape. Your error and loading states behave like production.

  • Nested relationships

    Call /users/1/posts or /albums/1/photos — related data is one request away.

Read the API conventions
Relations at a glance
GET  /v1/users — 200 OK
GET  /v1/users/1/posts — [rel: user]
GET  /v1/users/1/todos — [rel: user]
GET  /v1/users/1/albums — [rel: user]
GET  /v1/albums/1/photos — [rel: album]
POST  /v1/products — 201 Created
PATCH  /v1/products/:id — 200 OK
envelope dataenvelope metaenvelope error

Start building with PhantomJSON

Explore realistic APIs and start integrating in minutes. No keys, no accounts — just a base URL and a fetch.