Numerology apps follow a predictable shape: compute the user's core numbers, then let them check compatibility against someone else. The /numerologynamespace covers both halves with 12 endpoints. Here's the minimal version.
Step 1: the core numbers
fetch("https://aplicious.com/api/v1/numerology/life-path?dob=1990-01-15", {
headers: { "X-API-Key": "lapi_live_••••" },
});
fetch("https://aplicious.com/api/v1/numerology/destiny-number?name=Jane+Doe", {
headers: { "X-API-Key": "lapi_live_••••" },
});Life path comes from the birth date; destiny comes from the full birth name. Both preserve master numbers (11, 22, 33) at the final reduction step by default — pass ?system=chaldean on either if you want the Chaldean letter-mapping instead of the default Pythagorean one.
Step 2: compatibility — the feature that actually drives engagement
/compatibility takes two names and two birth dates and returns a deterministic score built from three separate sub-scores: life path compatibility, expression (destiny) compatibility, and soul urge compatibility — each computed from numerological harmony rules, not a random number generator.
fetch(
"https://aplicious.com/api/v1/numerology/compatibility?name1=Jane&dob1=1990-01-15&name2=John&dob2=1988-07-22",
{ headers: { "X-API-Key": "lapi_live_••••" } }
);The response breaks out life_path_compatibility, expression_compatibility, and soul_urge_compatibilityas separate objects (each with both people's numbers and a sub-score) plus an overall_score. Same two inputs always produce the same score — useful if you're building a shareable result card, since the result won't change if someone re-opens it later.
Bonus: business name numerology
/business-nameruns the same destiny-number calculation against a proposed company name and compares it to a founder's personal numbers — this was the most-requested feature after our own numerology engine launched, and it's a genuinely different audience (founders naming a company) from the consumer compatibility-checker crowd.
Putting it together
async function getCompatibility(p1: { name: string; dob: string }, p2: { name: string; dob: string }) {
const params = new URLSearchParams({
name1: p1.name, dob1: p1.dob,
name2: p2.name, dob2: p2.dob,
});
const res = await fetch(
`https://aplicious.com/api/v1/numerology/compatibility?${params}`,
{ headers: { "X-API-Key": process.env.APLICIOUS_KEY! } }
);
return (await res.json()).data;
}