The Socionics data that powers this site is published as a free npm package under the MIT licence. If you are building a Socionics tool, quiz, app, or research project, you are welcome to use it.
socionics-core
Repository: github.com/sstern42/socionics-core
Licence: MIT
Install:
npm install socionics-core
No dependencies. No build step. Works in Node.js 12+.
What's included
16 types — each type object includes the Socionics code, full name, MBTI equivalent, quadra, club, temperament, rationality, extraversion flag, romance style, communication style, stimulus, and argumentation style. Also includes the full 8-position Model A function stack with position number, block, classical role name, and function code.
8 functions — each function object includes the code (Ne, Ti, Fe etc), full classical name, attitude (extraverted/introverted), domain (intuition, sensing, logic, ethics), SLIDE attitude name, and a plain-English description.
16 intertype relations — the complete relation matrix. Given any two type codes, returns the named relation along with its orientation (monoverted/hetroverted), rhythm (rhythmic/arrhythmic), vibe (attractive/repulsive), and symmetry. Asymmetric relations (benefaction, supervision) include a direction field identifying which type is the benefactor/supervisor and which is the beneficiary/supervisee.
Small groups — all three classification systems:
- Quadras — Alpha, Beta, Gamma, Delta — including valued functions, dual style, life stage theme, and description
- Clubs — Researcher, Socializer, Pragmatist, Humanitarian
- Temperaments — EP, EJ, IP, IJ
Quick example
const socionics = require('socionics-core');
// Get a type
const lii = socionics.getType('LII');
lii.name // 'The Analyst'
lii.mbti // 'INTj'
lii.quadra // 'Alpha'
lii.functions[0].code // 'Ti' (Leading)
lii.functions[4].code // 'Fe' (Suggestive)
// Get the relation between two types
const rel = socionics.getRelation('LII', 'ESE');
rel.name // 'Dual'
rel.vibe // 'Attractive'
// Find all types with a given relation to a type
socionics.getTypesByRelation('LII', 'conflict') // [SEE type object]
// Look up by MBTI equivalent
socionics.getTypeByMbti('ENTp') // ILE type object
Full API documentation is in the README on GitHub.
Socion app matching logic
The matching logic for the Socion app is built to be open source and auditable — the intertype relations matrix it applies is the same one published in socionics-core. Community trust through transparency, not a black box.
Repository: github.com/sstern42/socionics-match
Contributing
If you find errors in the type, function, or relation data — or have additions to suggest — open an issue or pull request on the socionics-core repository. The Socionics community has spent decades refining this material and corrections from knowledgeable sources are welcome.