{"uid":"cap_h6gUIl1iDWGZVieanWhJ-","slug":"halowerk-entity-graph-extractor-5745b258","name":"Halowerk Entity Graph Extractor","description":"Takes a text as text, a public URL or inline base64 — PDF, DOCX, ODT, HTML and Markdown are read — and returns it as a graph: the people, organisations, places, products, documents and events it names, and the relations it states between them. Every relation carries the sentence it came from word for word, plus the character offset and line where that sentence stands, and each of those quotes is looked up in the source text before the answer goes out: an exact match, or a match after whitespace…","url":"https://buero.halowerk.com/v1/entity-graph?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"document":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"description":"Public http(s) URL of a PDF, DOCX, ODT, HTML or text file. Private and local addresses are refused."},"text":{"type":"string","maxLength":200000,"description":"The text directly. Cheapest and clearest — its length is billed as counted here."},"format":{"enum":["auto","pdf","docx","odt","html","markdown","rtf","text"],"type":"string","default":"auto","description":"Override the detected format. \"auto\" reads it from the bytes."},"filename":{"type":"string","maxLength":260,"description":"Only consulted when the bytes carry no recognisable signature."},"content_base64":{"type":"string","maxLength":4000000,"description":"The file inline, base64."}},"description":"The text to read. Exactly one of text, url or content_base64.","additionalProperties":false},"entity_types":{"type":"array","items":{"enum":["person","organisation","place","product","document","event","amount","other"],"type":"string"},"maxItems":8,"minItems":1,"description":"Which kinds of entity to look for. Default: person, organisation, place, product, document, event."},"max_relations":{"type":"integer","default":60,"maximum":120,"minimum":1,"description":"How many relations to return at most. What is dropped is counted, never silently cut."},"document_chars":{"type":"integer","maximum":24000,"minimum":1,"description":"Only needed when the text arrives by url or content_base64: its length in characters, which is what you are billed for. A longer text is refused with its real length and nothing is charged."},"include_unverified":{"type":"boolean","default":true,"description":"Also return relations whose quote could not be located in the source, clearly marked. Off means they are only counted."},"include_isolated_entities":{"type":"boolean","default":true,"description":"Also return entities that ended up with no relation. Off means they are only counted."}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.004","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.004/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.004","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.004","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_kYQxA18lL6FgraeZ0SRQD","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.004","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Extracts a structured knowledge graph of named entities (people, orgs, places, products, documents, events) and their stated relations from a document, with verified source quotes and character offsets.","exampleAgentPrompt":"Extract all people, organisations, and places from this PDF — https://example.com/annual-report-2024.pdf — and give me a graph of how they're related, with the exact sentence from the document supporting each relationship.","exampleUseCases":[{"title":"Due diligence entity mapping","prompt":"I need to map all the parties mentioned in this M&A agreement and how they relate to each other — here's the URL: https://example.com/merger-agreement.pdf. Show me person, organisation, and document entities only, and include the exact quotes from the contract supporting each relation."},{"title":"Investigative journalism network analysis","prompt":"Here's the text of a leaked report about financial misconduct. Extract every person, organisation, and amount mentioned, map all the relationships between them, and tell me exactly which sentence in the original document supports each connection."},{"title":"Research paper entity extraction","prompt":"Pull all the named entities from this research paper at https://example.com/paper.pdf — I want people, organisations, places, and events — and build a graph showing how they're related, up to 80 relations, with verified quotes."}],"resultDescription":"A structured entity graph containing: (1) a list of named entities categorised by type (person, organisation, place, product, document, event, amount, other); (2) a list of relations between those entities, each carrying the exact verbatim sentence from the source document, its character offset, and line number; (3) a verification status per relation indicating whether the quote was exactly located in the source; and (4) counts of dropped relations and isolated entities when limits or filters apply.","failureModes":["document_chars mismatch — if the declared character count is shorter than the actual document length, the request is refused and the real length is returned with no charge","URL unreachable or private/local address — the service refuses non-public URLs","Unsupported file format — if format detection fails and no filename hint is provided, parsing may fail","max_relations cap reached — relations beyond the limit are counted but not returned, noted in the response","Quote verification failure — relations whose quotes cannot be located in the source are marked unverified (or omitted if include_unverified is false)","Oversized input — text exceeding 200,000 characters or base64 exceeding 4,000,000 characters is rejected"],"whenToPreferThis":"Choose this endpoint when you need a structured, citation-backed knowledge graph from a document rather than a plain list of entities or a summary. It is especially valuable when you need to trust the output — every relation carries a verbatim quote and character offset verified against the source, making it suitable for legal, compliance, investigative, or research workflows where hallucinated relationships are unacceptable. Prefer it over generic NER tools when relational structure (not just entity lists) matters, and when the source document is a PDF, DOCX, ODT, HTML, or Markdown file that needs format-aware parsing.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-10T12:43:18.371Z","isFirstParty":false,"canonicalSlug":"halowerk-entity-graph-extractor-5745b258"}