Personality — entry 010 of 17

Personality.fyi

Verified Jul 2026

Personality.fyi is a small, static-data JSON API for the 16 MBTI types and the OEJTS personality test's items and scoring, explicitly marketed as "Free · No auth · No LLM." A live GET against the real gateway, personality.fyi/api/v1/types, returned a genuine list of the 16 MBTI types while carrying Access-Control-Allow-Origin: *, reconfirming both cors yes and auth None — no base-field corrections were needed. CC0 public-domain data with no paid tier — pricingModel free.

Personality.fyi is a small, static-data JSON API for the 16 Myers-Briggs (MBTI) personality types and the OEJTS personality test's items and scoring. Its own docs page (personality.fyi/api/) states "Free · No auth · No LLM" and gives the base URL directly as https://personality.fyi/api/v1.

mbtipersonalitypsychometricspublic-domain
AuthenticationNone requiredCall it straight away — no key, no signup.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreeNo paid tier — free for the documented use case.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score74out of 100
Authentication25/25No authentication required
Pricing20/20Free to use
Docs0/20No docs or spec available
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 74 on greatapis.com
<a href="https://greatapis.com/api/personality-fyi/"><img src="https://greatapis.com/badge/personality-fyi.svg" alt="Scored 74 on greatapis.com"></a>

Auth quickstart

  1. No API key, account, or header is needed for any endpoint — every route in the docs answers a bare GET (or, for scoring, a bare POST with a JSON body).
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

List all 16 MBTI types

GEThttps://personality.fyi/api/v1/types

200 application/json

{
  "types": [
    {
      "code": "INTJ",
      "name": "Architect",
      "title": "The Architect"
    },
    {
      "code": "INTP",
      "name": "Logician",
      "title": "The Thinker"
    },
    {
      "code": "ENTJ",
      "name": "Commander",
      "title": "The Commander"
    },
    {
      "code": "ENTP",
      "name": "Debater",
      "title": "The Debater"
    },
    {
      "code": "INFJ",
      "name": "Advocate",
      "title": "The Advocate"
    },
    {
      "code": "INFP",
      "name": "Mediator",
      "title": "The Mediator"
    },
    {
      "code": "ENFJ",
      "name": "Protagonist",
      "title": "The Protagonist"
    },
    {
      "code": "ENFP",
      "name": "Campaigner",
      "title": "The Campaigner"
    },
    {
      "code": "ISTJ",
      "name": "Logistician",
      "title": "The Logistician"
    },
    {
      "code": "ISFJ",
      "name": "Defender",
      "title": "The Defender"
    },
    {
      "code": "ESTJ",
      "name": "Executive",
      "title": "The Executive"
    },
    {
      "code": "ESFJ",
      "name": "Consul",
      "title": "The Consul"
    },
    {
      "code": "ISTP",
      "name": "Virtuoso",
      "title": "The Virtuoso"
    },
    {
      "code": "ISFP",
      "name": "Adventurer",
      "title": "The Adventurer"
    },
    {
      "code": "ESTP",
      "name": "Entrepreneur",
      "title": "The Entrepreneur"
    },
    {
      "code": "ESFP",
      "name": "Entertainer",
      "title": "The Entertainer"
    }
  ],
  "count": 16
}

All 16 types are static, public-domain data (CC0 per the API's own docs), so this list does not change between requests — captured directly and byte-for-byte, no truncation.

Developer reference

Base URLhttps://personality.fyi/api/v1

Gotchas & limits

  • The unversioned https://personality.fyi/api path 301-redirects to /api/ (the human docs page), not to the real base — confirmed live — so always call the versioned https://personality.fyi/api/v1 base directly.
  • GET /api/v1/types/{CODE} takes the 4-letter MBTI code in uppercase (e.g. INTJ) and returns a fuller per-type profile (cognitive style, strengths, shadow, drains) — confirmed live, 568 B for INTJ, far smaller than the 1,523 B full list.
  • An invalid or lowercase type code does not get a JSON error: a live probe of /api/v1/types/ZZZZ returned Netlify's generic HTML "Page not found" page at a 404 status, not a JSON body — check the content-type before parsing.
  • POST /api/v1/test/score expects exactly 32 Likert answers (1–5) in the order documented by GET /api/v1/test/items, and returns the computed MBTI type plus a per-axis confidence percentage — there is no partial-answer mode.
  • The docs' own "Rate limits & abuse" section states plainly: "No hard rate limits today. If your project hammers the endpoint past ~1k req/min sustained we'll add IP-based limiting" — no limit is enforced yet, so none is recorded as this API's rateLimit.