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 or open the account dashboard to review plan, quota, renewal, and recent activity.


Authentication

Pass your API key in the X-API-Key header with every authenticated request.

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.


Location Filtering

chowdive and collegedive expose item coordinates and support radius-based filtering. Wherever a ChowDive restaurant or CollegeDive college is returned, the item includes latitude and longitude. ChowDive items also include city and state when available.

For /recommend, /recommend-by-preferences, and /domains/{domain}/items, add latitude, longitude, and radius_miles to restrict results to items within that radius. If radius_miles is omitted when coordinates are supplied, it defaults to 50. Filtered responses include location_filter, and returned items include distance_miles.

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": "chowdive", "items": ["Shake Shack"], "latitude": 40.7128, "longitude": -74.0060, "radius_miles": 25, "limit": 10 }'

POST endpoints also accept a nested object: "location": {"latitude": 40.7128, "longitude": -74.0060, "radius_miles": 25}.


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, "supports_location": false }, { "slug": "chowdive", "label": "ChowDive", "entity_type": "Restaurant", "characteristics": 12, "supports_location": true }, ... ]}

GET /domains/{domain}/items

Browse items and their characteristic scores. No authentication required. ChowDive and CollegeDive items include latitude/longitude; those domains can also be filtered by radius.

ParameterTypeDescription
domainpathDive domain slug (e.g., showdive)
searchqueryFilter items by name (optional)
limitqueryMax results, up to 500 (default: 50)
offsetqueryPagination offset (default: 0)
latitudequeryLatitude for radius filtering; ChowDive and CollegeDive only
longitudequeryLongitude for radius filtering; ChowDive and CollegeDive only
radius_milesqueryRadius in miles; defaults to 50 when coordinates are supplied
curl "https://www.mooremetrics.com/wp-json/mooremetrics/v1/domains/showdive/items?search=break&limit=5"
curl "https://www.mooremetrics.com/wp-json/mooremetrics/v1/domains/chowdive/items?latitude=40.7128&longitude=-74.0060&radius_miles=10&limit=5"

GET /domains/{domain}/characteristics

List the characteristic dimensions for a domain. No authentication required. Useful for building dynamic slider UIs. The response also reports whether location filtering is supported.

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)
latitudenumberOptional location filter latitude; ChowDive and CollegeDive only
longitudenumberOptional location filter longitude; ChowDive and CollegeDive only
radius_milesnumberOptional radius in miles; defaults to 50 when coordinates are supplied
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 }'

Location-filtered ChowDive example:

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": "chowdive", "items": ["Shake Shack"], "latitude": 40.7128, "longitude": -74.0060, "radius_miles": 25, "limit": 10 }'
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, ... } }, ... ]}

For location-filtered ChowDive/CollegeDive responses, recommendations include latitude, longitude, and distance_miles.

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)
latitudenumberOptional location filter latitude; ChowDive and CollegeDive only
longitudenumberOptional location filter longitude; ChowDive and CollegeDive only
radius_milesnumberOptional radius in miles; defaults to 50 when coordinates are supplied
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": { "mainstream": -2.0, "intense_powerful": 3.0, "expensive": 2.5 }, "limit": 10 }'

CollegeDive preferences near Boston example:

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": "collegedive", "preferences": { "Prestige": 2.0, "Urbanicity": 1.5 }, "latitude": 42.3601, "longitude": -71.0589, "radius_miles": 100, "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 100 10/min Free
Basic 5,000 30/min $5/mo
Pro 100,000 60/min $50/mo

Upgrade your plan →


Available Domains

Slug Name Entity Type Characteristics Location
showdive ShowDive TV Show 13
moviedive MovieDive Movie 12
poddive PodDive Podcast 14
gamedive GameDive Video Game 17
fragrancedive FragranceDive Fragrance 16
recipedive RecipeDive Recipe 17
chowdive ChowDive Restaurant 12
authordive AuthorDive Author 14
collegedive CollegeDive College 10
fashiondive FashionDive Fashion Site 12
pharmadive PharmaDive Drug/Compound 16
lifedive LifeDive Organism 14
alldive AllDive Entity (cross-domain) 9

Support

Questions or issues? Contact reductionist@gmail.com.