BYTETOOLS

Personality.fyi API

Free personality API with no key: all 16 MBTI-style types with cognitive summaries, strengths, blind spots and energy drains, plus an open OEJTS test item bank. Live example included.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the Personality.fyi API?

Personality.fyi is a free, key-free API serving all 16 MBTI-style personality types. Each type returns a name, a cognitive summary, and arrays of strengths, blind spots and energy drains. It also exposes the item bank for the open-source OEJTS test and an endpoint that scores responses.

The useful thing here is not the type descriptions, which you could write yourself, but that the API also carries the OEJTS item bank. OEJTS is an open, freely licensed alternative to the proprietary MBTI instrument, and `/test/items` gives you the actual questions with their scoring keys. That turns this from a lookup table into something you can build a working assessment on without licensing anything.

The type records are opinionated in a way that reads as deliberate: alongside `strengths` you get `shadow` — the failure modes of the type — and `drains`, the things that exhaust it. Most free personality data serves flattery only. Having the negative side available means you can build something that is honest rather than horoscope-shaped. Treat the whole framework with the scepticism it deserves, though: MBTI-style typing has weak test-retest reliability and is not a psychometric instrument in the clinical sense, and any product built on it should say so.

Quick facts

Base URL
https://personality.fyi/api/v1
Authentication
No key or account for the read endpoints.
Rate limit
No published limit. The 16 type records are static — fetch once and cache.
Pricing
Free.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the Personality.fyi API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. Fetch the INTJ type profile

GET https://personality.fyi/api/v1/types/intj

curl
curl 'https://personality.fyi/api/v1/types/intj'
JavaScript (fetch)
const res = await fetch("https://personality.fyi/api/v1/types/intj");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://personality.fyi/api/v1/types/intj", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "code": "INTJ",
  "name": "Architect",
  "title": "The Architect",
  "cognitive": "Strategic, systems-level thinking. Builds mental models and long-range plans.",
  "strengths": [
    "Independent",
    "decisive",
    "high standards",
    "visionary"
  ],
  "shadow": [
    "Can be dismissive of others' input",
    "struggles with emotional expression",
    "overconfident in their own analysis"
  ],
  "drains": [
    "Repetitive meetings",
    "micromanagement",
    "social performance",
    "inefficiency"
  ],
  "url": "https://personality.fyi/type/intj"
}

Parameters

ParameterTypeRequiredDescription
CODEpath segmentOptionalFour-letter type code on `/types/{CODE}`. Case-insensitive. intj
(none)-Optional`/types` returns all sixteen at once; `/test/items` returns the OEJTS question bank. -

Response fields

codestring
Four-letter type code, upper case in the response.
name / titlestring
Short archetype name and its definite-article form.
cognitivestring
One-sentence summary of how the type processes information.
strengthsarray of strings
What the type is characteristically good at.
shadowarray of strings
Blind spots and failure modes — the half most free personality data omits.
drainsarray of strings
Situations that exhaust the type.
urlstring
Canonical page for the type on personality.fyi.

What you can build with the Personality.fyi API

  • Show a type profile after a quiz you host yourself
  • Build a working personality test on the open OEJTS item bank
  • Add type badges to team or profile pages
  • Generate onboarding copy tailored to a stated working style
  • Prototype an assessment flow without licensing a commercial instrument

Common errors and how to fix them

404

Unknown type code.

Fix: There are exactly sixteen valid codes, each one letter from E/I, N/S, T/F and J/P. Anything else 404s.

405 on /test/score

Scoring is a POST endpoint; you sent a GET.

Fix: Send the responses as a POST body. Only the read endpoints answer GET.

Missing `shadow` or `drains`

You are reading a cached response from an older version.

Fix: Re-fetch without cache. Current records include all three arrays.

Personality.fyi API — frequently asked questions

Is there a free MBTI personality API?

Personality.fyi serves all sixteen MBTI-style types free and without a key. Note that MBTI itself is a trademark of the Myers-Briggs Company; this API uses the four-letter type framework and the open OEJTS instrument, not the proprietary test.

Can I build a personality test with it?

Yes — that is the point of the `/test/items` endpoint, which returns the OEJTS question bank with its scoring keys, and `/test/score`, which turns a set of responses into a type. OEJTS is openly licensed, so you are not infringing a commercial instrument.

Is MBTI-style typing scientifically reliable?

Not particularly. Test-retest reliability is poor and the four-dichotomy model has limited support in personality psychology, which favours continuous trait models. Build the entertainment product if you want, but do not present the output as a clinical assessment.

What does the `shadow` field contain?

The type's blind spots and failure modes, as an array of short phrases. It exists so you can present a balanced profile instead of the pure flattery most free personality data offers.

Tools that pair with this API

Personality.fyi is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.