Loading ...

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.

ParameterTypeDescription
domainpathDive domain slug (e.g., showdive)
searchqueryFilter items by name (optional)
limitqueryMax results, up to 500 (default: 50)
offsetqueryPagination 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.

FieldTypeDescription
domainstringDive domain slug
itemsarrayArray of item names (fuzzy matched)
limitintegerMax results, up to 100 (default: 20)
include_characteristicsbooleanInclude 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.

FieldTypeDescription
domainstringDive domain slug
preferencesobjectKey-value pairs of characteristic names and desired values (-4 to 4)
limitintegerMax results (default: 20)
include_characteristicsbooleanInclude 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.

ParameterTypeDescription
domainqueryDive domain slug
item1queryFirst item name (fuzzy matched)
item2querySecond 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

Upgrade your plan →


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.