{
  "x402Version": 2,
  "id": 15230,
  "slug": "15230",
  "resource": "https://buero.halowerk.com/v1/entity-graph",
  "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…",
  "type": "http",
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "4000",
      "maxTimeoutSeconds": 300
    }
  ],
  "outputSchema": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "document": {
              "text": "Die Nordlicht GmbH hat am 3. Maerz 2026 einen Rahmenvertrag mit der Sued-Elektrik AG geschlossen.\n\nGeschaeftsfuehrerin der Nordlicht GmbH ist Anna Berger.\n\nDie Sued-Elektrik AG liefert die Steuergeraete aus ihrem Werk in Ulm."
            },
            "entity_types": [
              "person",
              "organisation",
              "place",
              "document"
            ],
            "max_relations": 20
          },
          "bodyType": "json",
          "method": "POST",
          "type": "http"
        }
      },
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "input": {
            "additionalProperties": false,
            "properties": {
              "body": {
                "additionalProperties": false,
                "properties": {
                  "document": {
                    "additionalProperties": false,
                    "description": "The text to read. Exactly one of text, url or content_base64.",
                    "properties": {
                      "content_base64": {
                        "description": "The file inline, base64.",
                        "maxLength": 4000000,
                        "type": "string"
                      },
                      "filename": {
                        "description": "Only consulted when the bytes carry no recognisable signature.",
                        "maxLength": 260,
                        "type": "string"
                      },
                      "format": {
                        "default": "auto",
                        "description": "Override the detected format. \"auto\" reads it from the bytes.",
                        "enum": [
                          "auto",
                          "pdf",
                          "docx",
                          "odt",
                          "html",
                          "markdown",
                          "rtf",
                          "text"
                        ],
                        "type": "string"
                      },
                      "text": {
                        "description": "The text directly. Cheapest and clearest — its length is billed as counted here.",
                        "maxLength": 200000,
                        "type": "string"
                      },
                      "url": {
                        "description": "Public http(s) URL of a PDF, DOCX, ODT, HTML or text file. Private and local addresses are refused.",
                        "maxLength": 2048,
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "document_chars": {
                    "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.",
                    "maximum": 24000,
                    "minimum": 1,
                    "type": "integer"
                  },
                  "entity_types": {
                    "description": "Which kinds of entity to look for. Default: person, organisation, place, product, document, event.",
                    "items": {
                      "enum": [
                        "person",
                        "organisation",
                        "place",
                        "product",
                        "document",
                        "event",
                        "amount",
                        "other"
                      ],
                      "type": "string"
                    },
                    "maxItems": 8,
                    "minItems": 1,
                    "type": "array"
                  },
                  "include_isolated_entities": {
                    "default": true,
                    "description": "Also return entities that ended up with no relation. Off means they are only counted.",
                    "type": "boolean"
                  },
                  "include_unverified": {
                    "default": true,
                    "description": "Also return relations whose quote could not be located in the source, clearly marked. Off means they are only counted.",
                    "type": "boolean"
                  },
                  "max_relations": {
                    "default": 60,
                    "description": "How many relations to return at most. What is dropped is counted, never silently cut.",
                    "maximum": 120,
                    "minimum": 1,
                    "type": "integer"
                  }
                },
                "required": [
                  "document"
                ],
                "type": "object"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "type": {
                "const": "http",
                "type": "string"
              }
            },
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "type": "object"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      }
    }
  },
  "tags": [
    "bazaar"
  ],
  "sourceHost": "buero.halowerk.com",
  "lastUpdated": "2026-08-20T06:44:26.77Z",
  "quality": {
    "calls30d": 1,
    "uniquePayers30d": 1,
    "lastCalledAt": "2026-08-20T06:44:26.186Z"
  },
  "liveness": {},
  "verified": false,
  "featured": false,
  "provider": {
    "host": "buero.halowerk.com",
    "manifest_name": "buero.halowerk.com",
    "source": "cdp-mirror",
    "source_manifest_url": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
    "submitted_at": "2026-09-18T22:00:31.484Z"
  }
}