Skip to content

API Documentation

Complete reference for Pillow’s REST API, including endpoints, authentication, and examples.

The Pillow API provides:

  • Property search and filtering
  • User authentication and management
  • Data harvesting configuration
  • Analytics and reporting
  • System administration
Production: https://api.garagejs.com

For local development:

http://localhost:4000

All API endpoints are prefixed with /api/v1:

Production: https://api.garagejs.com/api/v1
Local: http://localhost:4000/api/v1

All API requests require authentication using either:

Terminal window
curl -H "Authorization: Bearer your-service-token" \
https://api.garagejs.com/api/v1/properties

Service tokens are created via the admin endpoint:

Terminal window
curl -X POST https://api.garagejs.com/admin/tokens/service \
-H "Content-Type: application/json" \
-d '{
"service_name": "my-service",
"source": "my-source",
"roles": ["harvester"]
}'

Get your first API response:

Terminal window
# Create a service token
curl -X POST http://localhost:4000/admin/tokens/service \
-H "Content-Type: application/json" \
-d '{
"service_name": "test-service",
"source": "test-source",
"roles": ["harvester"]
}'
# Search for properties (public endpoint, no auth required)
curl "http://localhost:4000/api/v1/properties?limit=5"
# Search with filters
curl "http://localhost:4000/api/v1/properties?city=San%20Francisco&limit=5"
# With authentication (for protected endpoints)
curl -H "Authorization: Bearer your-token" \
"http://localhost:4000/api/v1/properties?city=San%20Francisco&limit=5"