Turn any document into a knowledge graph.
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.
Open the interactive demo → — paste text, pick what to extract, and see the entities highlighted in place with the evidence behind every relationship.
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}
}
Every /v1 endpoint requires a bearer token.
| Path | Purpose | |
|---|---|---|
| POST | /v1/extract | Extract a knowledge graph from text or a URL |
| POST | /v1/extract/batch | Many documents at once, optional corpus merge |
| POST | /v1/jobs | Queue a large corpus; returns a job id |
| GET | /v1/jobs/{job_id} | Poll job status, progress and results |
| GET | /v1/layers | The frozen L1 schema and the built-in L2 layers |
| POST | /v1/schema/discover | Derive an L2 layer, and its L1 mapping, from a document |
| GET | /v1/usage | Billable usage for a window |
| GET | /v1/limits | Rate-limit and quota headroom |
| GET | /v1/models | Available extraction models |
| GET | /health | Liveness and upstream status |
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.