Developer Docs

AICraft API

Simple REST endpoints. JSON in, JSON out. Bearer-token auth for protected routes.

Authentication

Protected endpoints require a Supabase access token in the Authorization header:

Authorization: Bearer <your-access-token>

You can get an access token by signing in via the login page — after login it is stored in localStorage.aicraft_token.

Rate limits

General endpoints: 60 requests / minute per IP. Auth endpoints: 10 requests / minute per IP.

Tools

GET/api/tools?sector=Design&limit=20
GET/api/tools/:id

Favorites (auth required)

GET/api/favorites
POST/api/favorites
DEL/api/favorites/:toolId

Reviews

GET/api/tools/:id/reviews
POST/api/tools/:id/reviewsauth

Profile (auth required)

GET/api/profile
PUT/api/profile

Example request

fetch('/api/tools?sector=Design', {
  headers: { 'Authorization': 'Bearer ' + token }
})
  .then(r => r.json())
  .then(data => console.log(data.tools));

Need help?

Email api@aicraft.co or visit support.