Developers
Salad.Now API
Read-only JSON API for live Salad.now recipe data. No authentication required.
Base URL
https://app.salad.now
Auth
None. Public read-only endpoints.
Schema
JSON response envelope with snake_case fields.
Endpoints
Supported methods: GET, HEAD, OPTIONS.
| Method | Path | Description | Cache |
|---|---|---|---|
| GET | /v1/health | Service health check. | no-store |
| GET | /v1/sotd | Full Salad of the Day payload. | max-age=300 |
| GET | /v1/salads | List/filter salads with pagination. | max-age=60 |
| GET | /v1/salads/{slug} | Full recipe detail by slug. | max-age=60 |
| GET | /openapi.json | OpenAPI 3.1 definition. | max-age=3600 |
/v1/health
Returns service status and current server time. Useful as a connectivity check or for monitoring.
Request
curl https://app.salad.now/v1/health
Response 200
{
"ok": true,
"service": "salad-app-api",
"now": "2026-02-17T17:52:33.999Z"
}
/v1/sotd
Returns the full Salad of the Day object, including recipe details, ingredients, steps, images, and nutritional info. Rotates daily.
Request
curl https://app.salad.now/v1/sotd
Response fields
| Field | Type | Description |
|---|---|---|
| slug | string | URL-safe identifier |
| title | string | Recipe display name |
| intro | string | Short description |
| calories | number | Calories per serving |
| macros | object | protein, carbs, fat in grams |
| ingredients | array | List of {quantity, item} |
| steps | array | Cooking steps with images |
| images | object | Hero and ingredient images |
| checkout_url | string | Instacart shopping list link |
Response 200
{ "ok": true, "data": { "slug": "honey-mustard-chicken", "title": "Honey Mustard Chicken Salad", "intro": "Tender chicken over crunchy greens with apples, cucumbers, cheddar, and toasted pecans...", "prep_time": "26 min", "prep_minutes": 26, "servings_count": 4, "calories": 620, "macros": { "protein": "74", "carbs": "24", "fat": "34" }, "is_vegan": false, "is_vegetarian": false, "collection": "Bistro Classics",} }
/v1/salads
List and filter salads with pagination. Supports dietary, nutritional, and prep time filters.
Query parameters
| Parameter | Type | Details |
|---|---|---|
| diet | string | vegan or vegetarian |
| min_protein | number | Minimum protein grams |
| max_prep_time | number | Maximum prep time in minutes |
| min_calories | number | Minimum calories |
| max_calories | number | Maximum calories |
| limit | integer | Page size, default 20, max 100 |
| offset | integer | Pagination offset, default 0 |
Request
curl "https://app.salad.now/v1/salads?diet=vegan&max_prep_time=20&limit=3"
Response 200
{
"ok": true,
"data": [
{
"slug": "bean-trio-salad",
"title": "Bean Trio Salad",
"intro": "A bright, crunchy three-bean salad with celery, herbs, and a tangy-sweet vinaigrette...",
"prep_minutes": 15,
"calories": 415,
"protein_grams": 17,
"is_vegan": true,
"is_vegetarian": true,
"image": { "src": "https://m1.salad.now/bean_trio_salad.png" }
},
{
"slug": "berry-spinach",
"title": "Berry Spinach",
"intro": "Fresh spinach and juicy strawberries tossed with a sweet-tangy sesame poppy dressing.",
"prep_minutes": 10,
"calories": 230,
"protein_grams": 3,
"is_vegan": true,
"is_vegetarian": true,
"image": { "src": "https://m1.salad.now/berry_spinach.png" }
},
{
"slug": "lemon-garden-salad",
"title": "Lemon Garden Salad",
"intro": "Juicy tomatoes, crisp cucumber, and chopped onion tossed with fresh lemon...",
"prep_minutes": 10,
"calories": 35,
"protein_grams": 1,
"is_vegan": true,
"is_vegetarian": true,
"image": { "src": "https://m1.salad.now/lemon_garden_salad.png" }
}
],
"meta": {
"total": 3,
"limit": 3,
"offset": 0
}
}
/v1/salads/{slug}
Returns the full recipe detail for a single salad. Includes ingredients, step-by-step instructions, images, nutritional info, and substitutions.
Request
curl https://app.salad.now/v1/salads/berry-spinach
Path parameters
| Param | Type | Description |
|---|---|---|
| slug | string | URL-safe recipe identifier, e.g. berry-spinach |
Response 200
{ "ok": true, "data": { "slug": "berry-spinach", "title": "Berry Spinach", "intro": "Fresh spinach and juicy strawberries tossed with a sweet-tangy sesame poppy dressing.", "prep_time": "10 min", "prep_minutes": 10, "servings_count": 4, "calories": 230, "macros": { "protein": "3", "carbs": "22", "fat": "16" }, "is_vegan": true, "is_vegetarian": true, "collection": "Bistro Classics", "why_we_love_it": "Sweet strawberries + crisp spinach + a quick homemade dressing...",} }
/openapi.json
Returns the OpenAPI 3.1 specification for the entire API. Use it to generate client libraries or import into tools like Postman.
Request
curl https://app.salad.now/openapi.json
Response 200
Returns the full OpenAPI 3.1 JSON specification document. Too large to display inline.
View full spec →Rate limits and headers
- Rate limit: 60 requests per minute per IP.
- Headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
- 429 responses include Retry-After.
- ETag is included for conditional requests.
Notes
Responses may include third-party checkout URLs (for example Instacart). Those services are governed by their own terms and policies.
For API usage rules, see Data API Terms. For support, email [email protected].