MooreMetrics Dive API Documentation
Base URL: https://www.mooremetrics.com/wp-json/mooremetrics/v1
All authenticated endpoints require an X-API-Key header. Get a free key here.
Authentication
Pass your API key in the X-API-Key header with every authenticated request. Alternatively, you can pass it as an api_key query parameter, though the header method is preferred.
curl -H "X-API-Key: mm_live_your_key_here" \ "https://www.mooremetrics.com/wp-json/mooremetrics/v1/domains"
Rate Limits
Every authenticated response includes rate-limit headers:
X-RateLimit-Limit | Your monthly request limit |
X-RateLimit-Remaining | Requests remaining this month |
X-RateLimit-Reset | Date when your counter resets |
X-RateLimit-Plan | Your current plan (free, basic, pro) |
Exceeding limits returns 429 Too Many Requests.
Endpoints
GET /domains
List all available Dive domains. No authentication required.
curl "https://www.mooremetrics.com/wp-json/mooremetrics/v1/domains"
Example response
{ "domains": [ { "slug": "showdive", "label": "ShowDive", "entity_type": "TV Show", "characteristics": 13 }, { "slug": "moviedive", "label": "MovieDive", "entity_type": "Movie", "characteristics": 12 }, ... ]} GET /domains/{domain}/items
Browse items and their characteristic scores. No authentication required.
| Parameter | Type | Description |
|---|---|---|
domain | path | Dive domain slug (e.g., showdive) |
search | query | Filter items by name (optional) |
limit | query | Max results, up to 500 (default: 50) |
offset | query | Pagination offset (default: 0) |
curl "https://www.mooremetrics.com/wp-json/mooremetrics/v1/domains/showdive/items?search=break&limit=5"
GET /domains/{domain}/characteristics
List the characteristic dimensions for a domain. No authentication required. Useful for building dynamic slider UIs.
curl "https://www.mooremetrics.com/wp-json/mooremetrics/v1/domains/fragrancedive/characteristics"
POST /recommend AUTH
Get recommendations based on items the user likes. Accepts up to 20 input items with fuzzy matching.
| Field | Type | Description |
|---|---|---|
domain | string | Dive domain slug |
items | array | Array of item names (fuzzy matched) |
limit | integer | Max results, up to 100 (default: 20) |
include_characteristics | boolean | Include characteristic scores in results (default: false) |
curl -X POST "https://www.mooremetrics.com/wp-json/mooremetrics/v1/recommend" \ -H "X-API-Key: mm_live_your_key_here" \ -H "Content-Type: application/json" \ -d '{ "domain": "showdive", "items": ["Breaking Bad", "The Wire", "Better Call Saul"], "limit": 10, "include_characteristics": true }'
Example response
{ "domain": "showdive", "matched_inputs": [ { "input": "Breaking Bad", "matched_to": "Breaking Bad", "id": "Breaking.Bad" } ], "unmatched_inputs": [], "count": 10, "recommendations": [ { "rank": 1, "id": "Ozark", "name": "Ozark", "score": 0.945321, "characteristics": { "sci_fi_elements": -0.8012, "comedy": -0.4521, "crime_focus": 1.8934, ... } }, ... ]} POST /recommend-by-preferences AUTH
Get recommendations by specifying desired characteristic values (like the slider interface). Only include the characteristics you care about — omitted ones are ignored.
| Field | Type | Description |
|---|---|---|
domain | string | Dive domain slug |
preferences | object | Key-value pairs of characteristic names and desired values (-4 to 4) |
limit | integer | Max results (default: 20) |
include_characteristics | boolean | Include full characteristic scores (default: false) |
curl -X POST "https://www.mooremetrics.com/wp-json/mooremetrics/v1/recommend-by-preferences" \ -H "X-API-Key: mm_live_your_key_here" \ -H "Content-Type: application/json" \ -d '{ "domain": "fragrancedive", "preferences": { "resinous_incense": 3.0, "gourmand_sweet": -2.0, "projection_intensity": 2.5 }, "limit": 10 }'
GET /correlation AUTH BASIC+
Get the pairwise similarity score between two items. Requires Basic or Pro plan. Values are normalized to a 0–1 scale.
| Parameter | Type | Description |
|---|---|---|
domain | query | Dive domain slug |
item1 | query | First item name (fuzzy matched) |
item2 | query | Second item name (fuzzy matched) |
curl -H "X-API-Key: mm_live_your_key_here" \ "https://www.mooremetrics.com/wp-json/mooremetrics/v1/correlation?domain=moviedive&item1=The+Godfather&item2=Goodfellas"
Example response
{ "domain": "moviedive", "item1": { "id": "The.Godfather", "name": "The Godfather" }, "item2": { "id": "Goodfellas", "name": "Goodfellas" }, "correlation": 0.674200} GET /usage AUTH
Check your current usage, remaining quota, and per-domain breakdown for the current billing period.
curl -H "X-API-Key: mm_live_your_key_here" \ "https://www.mooremetrics.com/wp-json/mooremetrics/v1/usage"
POST /register
Programmatically register for a free API key. One key per email address.
curl -X POST "https://www.mooremetrics.com/wp-json/mooremetrics/v1/register" \ -H "Content-Type: application/json" \ -d '{"email": "you@example.com"}'
Plans
| Plan | Requests/Mo | Rate Limit | Correlation Endpoint | Price |
|---|---|---|---|---|
| Free | 50 | 10/min | — | Free |
| Basic | 5,000 | 30/min | ✓ | $15/mo |
| Pro | 50,000 | 60/min | ✓ | $50/mo |
Available Domains
| Slug | Name | Entity Type | Characteristics |
|---|---|---|---|
showdive | ShowDive | TV Show | 13 |
moviedive | MovieDive | Movie | 12 |
poddive | PodDive | Podcast | 10 |
gamedive | GameDive | Video Game | 14 |
fragrancedive | FragranceDive | Fragrance | 14 |
recipedive | RecipeDive | Recipe | 17 |
chowdive | ChowDive | Restaurant | 13 |
authordive | AuthorDive | Author | 10 |
collegedive | CollegeDive | College | 10 |
fashiondive | FashionDive | Fashion Brand/Site | 12 |
pharmadive | PharmaDive | Drug/Compound | 13 |
alldive | AllDive | Entity (cross-domain) | 9 |
Support
Questions or issues? Contact reductionist@gmail.com.