Company Report
There are three endpoints for retrieving analysis and report data. Each returns a different shape optimized for specific use cases.
Which Endpoint Should I Use?
| Use Case | Endpoint | Input |
|---|---|---|
| Consuming analysis data programmatically (KPIs, founders, data points) | /analysis/detail | analysisId |
| Report/PDF-style generation (formatted text, deal score) | /retrievereport | analysisId + projectId |
| Full project context for app/UI (voting, events, fit scoring) | /project/fullreport | projectId (+ optional analysisId) |
Quick rule:
- Need the normalized analysis data model → use
/analysis/detail - Need export/report strings → use
/retrievereport - Need end-to-end project context → use
/project/fullreport
Headers (all endpoints)
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Your API key (format: YOUR_API_KEY) |
How to Get projectId and analysisId
Use Search Companies to find the project, then Retrieve Companies to get analyses and pick the latest analysisId.
JavaScript
const API_KEY = "YOUR_API_KEY_HERE";
const BASE_URL = "https://api.kruncher.ai/api";
async function getIds(companyName) {
const search = await fetch(
`${BASE_URL}/integration/project/search?keywords=${encodeURIComponent(companyName)}`,
{ headers: { Authorization: API_KEY } }
).then((r) => r.json());
if (!search.data?.data?.length) {
throw new Error(`Company not found: ${companyName}`);
}
const projectId = search.data.data[0].id;
const projects = await fetch(
`${BASE_URL}/integration/projects`,
{ headers: { Authorization: API_KEY, "Content-Type": "application/json" } }
).then((r) => r.json());
const project = projects.data.find((p) => p.id === projectId);
if (!project?.analyses?.length) {
throw new Error("No analyses found for this project");
}
const latest = project.analyses.sort(
(a, b) => new Date(b.createdAt) - new Date(a.createdAt)
)[0];
return { projectId, analysisId: latest.id };
}Analysis Detail
GET https://api.kruncher.ai/api/integration/analysis/detail
Returns the richest structured analysis data. Contains flattened KPI values, founders, data points, and company fit dimensions — all keyed for programmatic access.
Best for: consuming analysis data in code, building custom views, extracting specific KPIs.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
analysisId | string (UUID) | Yes | The analysis to retrieve |
Code Examples
JavaScript
const analysisId = "a1b2c3d4-e5f6-7890-abcd-ef1234567890";
const response = await fetch(
`https://api.kruncher.ai/api/integration/analysis/detail?analysisId=${analysisId}`,
{ headers: { "Authorization": API_KEY } }
);
const result = await response.json();
const { analysisObject, analysisData, founders, dataPointsObject } = result.data;
console.log("Fit:", analysisObject.projectfit_saas_scoreLabel);
console.log("Founders:", founders.map(f => f.fullName).join(", "));
console.log("Valuation:", dataPointsObject.valuationCurrency);Response Shape
{
"metadata": { "code": "1000", "title": "Successful", "description": "" },
"data": {
"analysisObject": {
"projectLink": "https://kruncher.ai/app/project/?projectId=...",
"projectfit_<code>_scoreLabel": "Strong Fit",
"projectfit_<code>_explanation": "...",
"projectfit_<code>_score": 8.5,
"projectfit_<code>_scoreColor": "Green"
},
"analysisData": {
"<entityKey>": {
"text": "value",
"structuredData": null,
"type": "string",
"source": "document",
"sources": [],
"comments": []
}
},
"kruncherEntityCompanyId": "uuid",
"kruncherEntityCompanyDomainsCsv": "example.com",
"founders": [
{
"fullName": "John Doe",
"emailsCsv": "john@company.com",
"tagsString": "CEO, Founder"
}
],
"projectId": "uuid",
"projectcompanyfit": {
"projectcompanyfitdimensions": [
{ "code": "saas", "scoreLabel": "Strong Fit", "explanation": "...", "score": 8.5 }
]
},
"dataPoints": [
{ "metricKey": "valuationCurrency", "dataType": "currency", "floatValue": 5000000 }
],
"dataPointsObject": {
"valuationCurrency": 5000000,
"foundYearInteger": 2020,
"numberOfEmployeesInteger": 50
},
"analysisStructure": {
"<entityKey>": { "value": {}, "text": "...", "structuredData": null }
},
"project": {}
}
}Response Fields
| Field | Description |
|---|---|
analysisObject | Flattened KPI values + project data. Fit scores follow the pattern projectfit_<code>_score/scoreLabel/explanation/scoreColor. |
analysisData | Chapter/row remap — each entity key maps to its text value, structured data, type, source, and comments. |
founders | Array of founder records with names, emails, and role tags. |
dataPoints | Array of typed metric data points (integer, float, currency, date, boolean). |
dataPointsObject | Flattened key-value map of data points for easy access (e.g., valuationCurrency, foundYearInteger). |
projectcompanyfit | Company fit dimensions with per-dimension scores and explanations. |
analysisStructure | Raw analysis object keyed by entity key. |
project | Full project object. |
Retrieve Report
GET https://api.kruncher.ai/api/integration/retrievereport
Returns the report generation payload with pre-formatted strings suitable for export, PDF generation, or LLM context. This is the recommended endpoint for API integrations, MCP tools, and LLM connectors.
Best for: report/PDF-style generation, formatted text output, deal scoring context.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
analysisId | string (UUID) | Yes | The analysis to retrieve the report for |
projectId | string (UUID) | Yes | The project that owns the analysis |
Code Examples
JavaScript
const projectId = "521a93a6-091d-4943-ba13-7c1a654a14ae";
const analysisId = "a1b2c3d4-e5f6-7890-abcd-ef1234567890";
const url = new URL("https://api.kruncher.ai/api/integration/retrievereport");
url.searchParams.set("projectId", projectId);
url.searchParams.set("analysisId", analysisId);
const result = await fetch(url, {
headers: { Authorization: API_KEY, "Content-Type": "application/json" }
}).then((r) => r.json());
console.log("Report:", result.data);Response Shape
Contains the analysis detail plus report generation fields including formatted chapter strings, project detail strings, and deal scoring data.
Full Report
GET https://api.kruncher.ai/api/integration/project/fullreport
Returns a complete project context bundle combining project details, analysis, voting, company fit, and events in a single call. Provides everything needed to render a full project view.
Best for: dashboards, comprehensive project views, app/UI rendering with voting and events context.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
projectId | string (UUID) | Yes | The project to retrieve |
analysisId | string (UUID) | No | Specific analysis. If omitted, uses latest completed analysis. |
Code Examples
JavaScript
const projectId = "521a93a6-091d-4943-ba13-7c1a654a14ae";
const response = await fetch(
`https://api.kruncher.ai/api/integration/project/fullreport?projectId=${projectId}`,
{ headers: { "Authorization": API_KEY } }
);
const result = await response.json();
const { projectDetail, projectvotesummary, analysisDetail, projectcompanyfit } = result.data;
console.log("Project:", projectDetail.name);
console.log("Votes:", projectvotesummary);
console.log("Company fit:", projectcompanyfit);Response Shape
{
"metadata": { "code": "1000", "title": "Successful", "description": "" },
"data": {
"projectDetail": {
"id": "uuid",
"name": "TechStartup",
"companyName": "TechStartup Inc.",
"companyWebsite": "https://techstartup.com",
"processing": "completed",
"analyses": [],
"projectscores": [],
"projectstatus": { "name": "Active", "code": "active" }
},
"projectvotesummary": {},
"analysisDetail": {},
"projectcompanyfit": {},
"eventsConfigsRelevantCompanyEvent": {}
}
}Response Fields
| Field | Description |
|---|---|
projectDetail | Full project object with analyses, scores, status, and owner. |
projectvotesummary | Voting summary with individual votes from team members. |
analysisDetail | Full analysis detail (null if no completed analysis exists). |
projectcompanyfit | Company fit scoring across configured dimensions. |
eventsConfigsRelevantCompanyEvent | Relevant company events and event configurations. |
Related Endpoints
- Search Companies - Find projects by keyword
- Retrieve Companies - Get project IDs and analysis IDs
- Update Analysis - Update entity values in an analysis
- Data Model - Entity key reference
- Metrics - Available metric keys