<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>API Documentation - CompanyIQ</title>
<link rel="stylesheet" href="/public/css/styles.css">
</head>
<body>
<header class="header">
<div class="logo">CompanyIQ</div>
<nav class="nav-links">
<a href="/dashboard">Dashboard</a>
<a href="/docs">Documentation</a>
</nav>
</header>
<div class="docs-container">
<aside class="docs-sidebar">
<h3>Contents</h3>
<ul class="docs-nav">
<li><a href="#authentication">Authentication</a></li>
<li><a href="#endpoints">API Endpoints</a></li>
<li><a href="#tools">Available Tools</a></li>
<li><a href="#examples">Examples</a></li>
</ul>
</aside>
<main class="docs-content">
<h1>CompanyIQ API Documentation</h1>
<p>Norwegian Company Intelligence Platform - Access company data, financial analysis, and market insights.</p>
<h2 id="authentication">Authentication</h2>
<p>All API requests require authentication via an API key. Include your key in the <code>x-api-key</code> header:</p>
<div class="code-block">
<code>curl -H "x-api-key: ciq_your_api_key_here" https://your-server.railway.app/api/tools</code>
</div>
<p>Get your API key from the <a href="/dashboard">Dashboard</a> after logging in.</p>
<h2 id="endpoints">API Endpoints</h2>
<h3>List Available Tools</h3>
<div class="endpoint">
<span class="endpoint-method method-get">GET</span>
<span class="endpoint-path">/api/tools</span>
<p class="endpoint-desc">Returns a list of all available analysis tools with their parameters.</p>
</div>
<h3>Execute Tool</h3>
<div class="endpoint">
<span class="endpoint-method method-post">POST</span>
<span class="endpoint-path">/api/tools/:toolName</span>
<p class="endpoint-desc">Execute a specific tool with the provided parameters.</p>
</div>
<h3>Health Check</h3>
<div class="endpoint">
<span class="endpoint-method method-get">GET</span>
<span class="endpoint-path">/health</span>
<p class="endpoint-desc">Check if the API is running. No authentication required.</p>
</div>
<h2 id="tools">Available Tools</h2>
<h3>get_company</h3>
<p>Get complete information about a specific company by organization number or name.</p>
<div class="code-block">
<code>{
"org_nr": "923609016" // 9-digit organization number
}</code>
</div>
<h3>search_companies</h3>
<p>Search Norwegian companies by industry, size, region, and more.</p>
<div class="code-block">
<code>{
"industry": "62", // NACE code (e.g., "62" for IT)
"region": "Oslo", // Region/municipality
"min_employees": 10, // Minimum employees
"max_employees": 100, // Maximum employees
"limit": 50 // Max results
}</code>
</div>
<h3>analyze_financials</h3>
<p>Financial analysis with automatic fetching of annual reports.</p>
<div class="code-block">
<code>{
"org_nr": "923609016",
"include_risk_assessment": true,
"auto_fetch": true
}</code>
</div>
<h3>analyze_ownership</h3>
<p>Analyze ownership structure and subsidiaries.</p>
<div class="code-block">
<code>{
"org_nr": "923609016",
"include_subunits": true,
"depth": 2
}</code>
</div>
<h3>track_board</h3>
<p>Track board composition and leadership.</p>
<div class="code-block">
<code>{
"org_nr": "923609016"
}</code>
</div>
<h3>market_landscape</h3>
<p>Analyze competitive landscape in an industry.</p>
<div class="code-block">
<code>{
"industry": "62",
"region": "Oslo",
"include_stats": true
}</code>
</div>
<h3>analyze_growth</h3>
<p>Identify high-growth companies in an industry or region.</p>
<div class="code-block">
<code>{
"industry": "62",
"min_growth_percent": 20,
"time_period": "3_years"
}</code>
</div>
<h3>economic_context</h3>
<p>Get economic context and macro statistics from SSB (Statistics Norway).</p>
<div class="code-block">
<code>{
"industry": "62",
"region": "Oslo"
}</code>
</div>
<h2 id="examples">Examples</h2>
<h3>Get Company Information</h3>
<div class="code-block">
<code>curl -X POST https://your-server.railway.app/api/tools/get_company \
-H "Content-Type: application/json" \
-H "x-api-key: ciq_your_api_key" \
-d '{"org_nr": "923609016"}'</code>
</div>
<h3>Search IT Companies in Oslo</h3>
<div class="code-block">
<code>curl -X POST https://your-server.railway.app/api/tools/search_companies \
-H "Content-Type: application/json" \
-H "x-api-key: ciq_your_api_key" \
-d '{"industry": "62", "region": "Oslo", "limit": 20}'</code>
</div>
<h3>Python Example</h3>
<div class="code-block">
<code>import requests
API_KEY = "ciq_your_api_key"
BASE_URL = "https://your-server.railway.app"
headers = {
"Content-Type": "application/json",
"x-api-key": API_KEY
}
# Get company info
response = requests.post(
f"{BASE_URL}/api/tools/get_company",
headers=headers,
json={"org_nr": "923609016"}
)
print(response.json())</code>
</div>
<h3>JavaScript Example</h3>
<div class="code-block">
<code>const API_KEY = 'ciq_your_api_key';
const BASE_URL = 'https://your-server.railway.app';
async function getCompany(orgNr) {
const response = await fetch(`${BASE_URL}/api/tools/get_company`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': API_KEY
},
body: JSON.stringify({ org_nr: orgNr })
});
return response.json();
}
getCompany('923609016').then(console.log);</code>
</div>
<h2>NACE Codes Reference</h2>
<p>Common Norwegian industry classification codes:</p>
<ul style="color: #a1a1aa; margin-left: 1.5rem;">
<li><strong>62</strong> - IT / Software Development</li>
<li><strong>64</strong> - Financial Services</li>
<li><strong>70</strong> - Management Consulting</li>
<li><strong>71</strong> - Architecture / Engineering</li>
<li><strong>45-47</strong> - Construction / Trade</li>
<li><strong>86</strong> - Healthcare</li>
<li><strong>85</strong> - Education</li>
</ul>
</main>
</div>
</body>
</html>