en-tities.ai

Turn any document into a knowledge graph.

ok · v0.1.0

Extracts typed entities and the relationships between them, with the provenance needed to verify every edge — exact character offsets, a confidence score, and the sentence it came from.

text[relationship.start:relationship.end] == relationship.evidence, always. Every edge can be traced back to the words that produced it.

Try it

Open the interactive demo → — paste text, pick what to extract, and see the entities highlighted in place with the evidence behind every relationship.

Quickstart

curl -X POST https://5.161.184.198.nip.io/v1/extract \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $EN_TITIES_TOKEN" \
  -d '{
    "text": "Microsoft invested $10 billion in OpenAI. Sam Altman leads OpenAI.",
    "entities": ["company", "person"],
    "relationships": [
      {"type": "invested_in", "source": "company", "target": "company"},
      {"type": "leads", "source": "person", "target": "company"}
    ]
  }'
{
  "entities": [
    {"id": "e1", "text": "Microsoft", "type": "company", "start": 0, "end": 9, "confidence": 1.0},
    {"id": "e2", "text": "OpenAI", "type": "company", "start": 33, "end": 39, "confidence": 1.0}
  ],
  "relationships": [
    {"id": "r1", "source": "e1", "source_text": "Microsoft", "type": "invested_in",
     "target": "e2", "target_text": "OpenAI", "confidence": 0.99,
     "evidence": "Microsoft invested $10 billion in OpenAI.", "start": 0, "end": 41}
  ],
  "usage": {"tokens": 362, "cost": 0.000434}
}

Authentication

Every /v1 endpoint requires a bearer token.

Endpoints

PathPurpose
POST/v1/extractExtract a knowledge graph from text or a URL
POST/v1/extract/batchMany documents at once, optional corpus merge
POST/v1/jobsQueue a large corpus; returns a job id
GET/v1/jobs/{job_id}Poll job status, progress and results
GET/v1/layersThe frozen L1 schema and the built-in L2 layers
POST/v1/schema/discoverDerive an L2 layer, and its L1 mapping, from a document
GET/v1/usageBillable usage for a window
GET/v1/limitsRate-limit and quota headroom
GET/v1/modelsAvailable extraction models
GET/healthLiveness and upstream status

Also available

Demo · Interactive API docs · OpenAPI schema · Health

An MCP server exposes the same extraction to agents, so a model can call extract_knowledge_graph instead of reading a corpus into its context.