Reference
Every request needs your API key, sent either as a header (recommended) or a query parameter.
curl "https://yourvibetoday.com/api/v1/apps.php" \
-H "X-API-Key: yvt_live_yourkeyhere"
Don't have a key yet? Get one free — Starter keys work immediately.
Returns a paginated, searchable list across all 1185+ apps.
| Param | Type | Description |
|---|---|---|
q | string | Search title + description |
category | string | Category slug, e.g. relationships-dating |
page | int | Default 1 |
per_page | int | Default 24, max 100 |
curl "https://yourvibetoday.com/api/v1/apps.php?category=school-students&per_page=2" \
-H "X-API-Key: yvt_live_yourkeyhere"
{
"data": [
{
"slug": "pop-quiz-panic-score",
"title": "Pop Quiz Panic Score",
"description": "Enter your pop quiz panic score and get your tier.",
"category": "School & Students",
"accent_color": "#FF4D4D",
"url": "https://yourvibetoday.com/try/pop-quiz-panic-score/",
"card_image_url": "https://yourvibetoday.com/try/pop-quiz-panic-score/pop-quiz-panic-score-image.php",
"added_at": "2026-07-14T10:22:00+00:00"
}
],
"pagination": { "page": 1, "per_page": 2, "total_results": 83, "total_pages": 42 },
"plan": { "name": "Starter", "calls_used_today": 14, "daily_limit": 500 }
}
Detail for one app. Pass through n and/or g to get a card image URL for a specific result instead of the default.
curl "https://yourvibetoday.com/api/v1/app.php?slug=red-flag-counter&n=7&g=my%20ex" \
-H "X-API-Key: yvt_live_yourkeyhere"
Every response includes card_image_url — a plain PNG endpoint, no auth required to load the image itself, safe to use directly in an <img> tag or social meta tag.
<img src="https://yourvibetoday.com/try/red-flag-counter/red-flag-counter-image.php?n=7&g=my+ex"
alt="Red Flag Counter result" />
To let your own visitors fill in the number themselves, embed url (the app's own page) in an iframe, or link out to it directly — both work without any API key on the visitor's side.
Limits reset at midnight UTC and are tied to your plan. Current usage is returned in every response under plan.calls_used_today. See plans & pricing for exact limits.
| HTTP | Code | Meaning |
|---|---|---|
| 401 | missing_api_key | No key was sent |
| 401 | invalid_api_key | Key not recognized |
| 402 | payment_required | Paid plan awaiting billing confirmation |
| 403 | key_suspended | Key suspended — contact support |
| 404 | app_not_found | Slug doesn't exist |
| 429 | rate_limit_exceeded | Daily limit reached for your plan |