Skip to main content

getEntities()

getEntities(options?: GetEntitiesOptions): Promise<Entity[]>

Defined in: packages/core/src/document-search/index.ts:599

Get extracted entities from indexed documents

Retrieves named entities (persons, organizations, locations, etc.) extracted from documents. Supports filtering by sources and files.

Note: Returns max 50 entities for memory optimization. For full entity exploration, use search results with entity filtering.

Parameters

ParameterTypeDescription
options?GetEntitiesOptionsOptional filtering parameters

Returns

Promise<Entity[]>

Promise resolving to array of Entity objects:

  • id - Unique entity identifier
  • name - Entity name/value
  • type - Entity type (PERSON, ORG, LOCATION, etc.)
  • count - Number of occurrences across documents

Throws

401 - Not authenticated

Throws

422 - Validation error

Example

import { getEntities } from "@cpod/sdk";

// Get all entities
const entities = await getEntities();
console.log(`Found ${entities.length} entities`);

// Filter by source
const contractEntities = await getEntities({
sources: ["contracts"],
limit: 50,
});

// Get entities for a specific file
const fileEntities = await getEntities({
fileHashes: ["95d47a820fcc0a667004a6da403b3d29"],
});

for (const entity of entities) {
console.log(`${entity.name} (${entity.type}): ${entity.count} occurrences`);
}

// Group entities by type
const byType = entities.reduce((acc, e) => {
acc[e.type] = acc[e.type] || [];
acc[e.type].push(e);
return acc;
}, {} as Record<string, typeof entities>);
console.log("People:", byType.PERSON?.map(e => e.name));