API
Programmatic access to ShipFast.Wiki content — products, wiki pages, and more.
Sign in to generate an API key.
Authentication
Pass your key on every request using either method:
# Authorization header (recommended) curl https://shipfast.wiki/api/v1/products \ -H "Authorization: Bearer YOUR_API_KEY"
# X-API-Key header curl https://shipfast.wiki/api/v1/products \ -H "X-API-Key: YOUR_API_KEY"
Rate Limits
Public key30 requests / minute (~1 every 2s)
Private key120 requests / minute
Exceeding the limit returns 429 Too Many Requests. The window resets every 60 seconds.
Endpoints
Products
GET
/api/v1/productsList published products
GET
/api/v1/products/:slugSingle product by slug
POST
/api/v1/productsprivateCreate a product
PATCH
/api/v1/products/:slugprivateUpdate a product
DELETE
/api/v1/products/:slugprivateDelete a product
Wiki Pages
GET
/api/v1/wikiList published wiki pages
GET
/api/v1/wiki/:slugSingle page by slug
POST
/api/v1/wikiprivateCreate a wiki page
PATCH
/api/v1/wiki/:slugprivateUpdate a wiki page
DELETE
/api/v1/wiki/:slugprivateDelete a wiki page
All list endpoints accept optional query params: ?category=, ?tag=, ?limit= (max 100, default 50).
Examples
List products in a category
curl "https://shipfast.wiki/api/v1/products?category=Developer+Tooling&limit=10" \ -H "Authorization: Bearer YOUR_API_KEY"
Get a single wiki page
curl "https://shipfast.wiki/api/v1/wiki/the-3-2-1-backup-rule-for-ai-coders" \ -H "Authorization: Bearer YOUR_API_KEY"
Create a wiki page (private key)
curl -X POST "https://shipfast.wiki/api/v1/wiki" \
-H "Authorization: Bearer YOUR_PRIVATE_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "My New Page",
"summary": "A short summary.",
"content": "Full markdown content here.",
"category": "Workflows",
"tags": ["productivity"],
"logoUrl": "https://example.com/logo.png",
"authorHandle": "someuser",
"status": "published"
}'Create a product (private key)
curl -X POST "https://shipfast.wiki/api/v1/products" \
-H "Authorization: Bearer YOUR_PRIVATE_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "My Product",
"description": "Short description.",
"longDescription": "Full details here.",
"category": "Developer Tooling",
"logoUrl": "https://example.com/logo.png",
"websiteUrl": "https://myproduct.com",
"githubUrl": "https://github.com/user/repo",
"screenshots": ["https://example.com/s1.png"],
"builtWith": ["Next.js", "Supabase"],
"tags": ["ai", "productivity"],
"ownerHandle": "someuser",
"trustMrrSlug": "my-product",
"status": "published"
}'Response shape
// Success
{ "data": { ... }, "count": 42 }
// Error
{ "error": "Invalid or disabled API key." }