# akta.pro — Orthogonal API

> Pay-per-use API on Orthogonal. Each call is billed to your Orthogonal balance.
> Base API: `https://api.orthogonal.com/v1/run` · [llms.txt](https://orthogonal.com/llms.txt) · [browse all APIs](https://orthogonal.com/discover)

Private company intelligence API by Wokelo AI. 20M+ companies with 70+ data points including firmographics, funding, headcount, financials, news signals, employee reviews, product reviews, job posts, social posts, and website traffic. Real-time enriched news with AI summaries, sentiment analysis, and event tagging.

**Verified:** no

## Access

**Run API:** `POST https://api.orthogonal.com/v1/run`
**Auth:** `Authorization: Bearer $ORTHOGONAL_API_KEY`
Get an API key at https://orthogonal.com/dashboard/settings/api-keys

Every call goes through the unified Run API: send the API `slug`, the endpoint `path`, and the `query`/`body` parameters. The response is `{ "success": true, "price": "<usd>", "data": { ... } }`.

## Endpoints

### Company Search

Resolve a company name, website domain, or UUID into a structured company record. Free endpoint, no credit consumption.

`GET /v1/company/search`

**Estimated cost:** $0

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Company name or website domain to search for |

```bash
curl -X POST 'https://api.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"akta-pro","path":"/v1/company/search","method":"GET","query":{"query":"<string>"}}'
```

### Job Posts

Fetch live LinkedIn and Indeed job listings for a company including title, location, description, compensation, experience level, skills, and AI-generated summary.

`GET /v1/company/jobs`

**Estimated cost:** $0.24

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company` | string | Yes | Company website or UUID |
| `limit` | integer | No | Max job listings to return. Default: 10 |
| `offset` | integer | No | Listings to skip for pagination |

```bash
curl -X POST 'https://api.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"akta-pro","path":"/v1/company/jobs","method":"GET","query":{"company":"<string>","limit":"<integer>","offset":"<integer>"}}'
```

### Website Traffic

Fetch a company's website traffic signals including engagement metrics, historical monthly visit estimates, and traffic source breakdown (direct, search, social, referral, paid, email).

`GET /v1/company/website-traffic`

**Estimated cost:** $0.09

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company` | string | Yes | Company website or UUID |

```bash
curl -X POST 'https://api.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"akta-pro","path":"/v1/company/website-traffic","method":"GET","query":{"company":"<string>"}}'
```

### Social Posts

Fetch social media posts published by a company including content type, text, publish date, paid/repost flags, AI summary, sentiment, and engagement metrics.

`GET /v1/company/posts`

**Estimated cost:** $0.06

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company` | string | Yes | Company website or UUID |
| `limit` | integer | No | Max posts to return. Default: 10 |
| `offset` | integer | No | Posts to skip for pagination |

```bash
curl -X POST 'https://api.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"akta-pro","path":"/v1/company/posts","method":"GET","query":{"company":"<string>","limit":"<integer>","offset":"<integer>"}}'
```

### Company Enrichment

Retrieve structured company data including firmographics, funding, headcount, web traffic, business model, financials, and more. Specify sections to control cost and response size. 15 available sections.

`GET /v1/company/enrichment`

**Estimated cost:** Dynamic — use `"dryRun": true` in the Run API request to check the exact cost before calling.

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company` | string | Yes | Company website URL or UUID from Company Search |
| `sections` | string | No | Comma-separated sections: firmographic, business_model, company_assessment, trust_signal, company_hierarchy, digital_presence, financial_estimate, location, management_profile, product_offering, strategic_signal, customer_profile, industry, technology, funding_detail, mna_and_investment |

```bash
curl -X POST 'https://api.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"akta-pro","path":"/v1/company/enrichment","method":"GET","query":{"company":"<string>","sections":"<string>"}}'
```

### Employee Reviews

Fetch a company's employee review data including overall ratings, dimension-level ratings (culture, work-life balance, compensation, senior management, diversity, CEO approval), and individual Glassdoor reviews.

`GET /v1/company/employee-reviews`

**Estimated cost:** $0.09

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company` | string | Yes | Company website or UUID |
| `limit` | integer | No | Max reviews to return. Default: 10 |
| `offset` | integer | No | Reviews to skip for pagination |

```bash
curl -X POST 'https://api.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"akta-pro","path":"/v1/company/employee-reviews","method":"GET","query":{"company":"<string>","limit":"<integer>","offset":"<integer>"}}'
```

### Industry Search

Resolve an industry from a free-text query and return matching industry codes ranked by similarity. Free endpoint, no credit consumption.

`GET /v1/industry/search`

**Estimated cost:** $0

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Industry name or topic to search (e.g. 'warehouse automation') |
| `level` | string | No | Restrict to taxonomy levels: sector, group, industry, sub_industry (comma-separated) |

```bash
curl -X POST 'https://api.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"akta-pro","path":"/v1/industry/search","method":"GET","query":{"query":"<string>","level":"<string>"}}'
```

### Headcount Trends

Fetch a company's LinkedIn-sourced headcount data including total employee count, historical growth trends, and functional breakdown by department.

`GET /v1/company/headcount-trends`

**Estimated cost:** $0.15

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company` | string | Yes | Company website or UUID |

```bash
curl -X POST 'https://api.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"akta-pro","path":"/v1/company/headcount-trends","method":"GET","query":{"company":"<string>"}}'
```

### Product Reviews

Fetch a company's product catalog and detailed G2 reviews per product including ratings, star distribution, pros, cons, pricing and individual review content.

`GET /v1/company/product-reviews`

**Estimated cost:** Dynamic — use `"dryRun": true` in the Run API request to check the exact cost before calling.

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company` | string | Yes | Company website or UUID |
| `products` | string | No | Product IDs to fetch reviews for (pass multiple times for multiple products) |
| `limit` | integer | No | Max reviews per product. Default: 0 (no reviews, product list only) |
| `offset` | integer | No | Reviews to skip for pagination |

```bash
curl -X POST 'https://api.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"akta-pro","path":"/v1/company/product-reviews","method":"GET","query":{"company":"<string>","products":"<string>","limit":"<integer>","offset":"<integer>"}}'
```

### Request Status

Check the current status of an asynchronous request (e.g. company addition) by its request ID. Free endpoint.

`GET /v1/status/{request_id}`

**Estimated cost:** $0

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `request_id` | string | Yes | Path parameter — substitute directly into the endpoint `path`. |

```bash
# Replace {request_id} in "path" with real values before sending
curl -X POST 'https://api.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"akta-pro","path":"/v1/status/{request_id}","method":"GET"}'
```

### List Generation

Build targeted company lists using structured filters or natural language queries, with optional data enrichment. Supports sorting by relevance, revenue, valuation, employee count, funding, or founded year.

`POST /v1/list/generate/companies/`

**Estimated cost:** Dynamic — use `"dryRun": true` in the Run API request to check the exact cost before calling.

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | No | Natural language search query (e.g. 'SaaS companies in the US with Series A funding'). Cannot be used with filters. |
| `filters` | object | No | Structured filter conditions from Filter Builder. Cannot be used with query. |
| `sections` | array | No | Data enrichment sections to include (e.g. firmographic, business_model, etc.) |
| `sort_by` | string | No | Sort field: relevance, revenue_estimate, valuation_estimate, employee_range, total_funding, founded_year |
| `sort_order` | string | No | Sort direction: asc or desc. Default: desc |
| `limit` | integer | No | Max companies to return. Default: 50, Max: 500 |
| `offset` | integer | No | Results to skip for pagination |

```bash
curl -X POST 'https://api.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"akta-pro","path":"/v1/list/generate/companies/","body":{"query":"<string>","filters":"<object>","sections":"<array>","sort_by":"<string>","sort_order":"<string>","limit":"<integer>","offset":"<integer>"}}'
```

### News Signals

Fetch enriched news articles for a company or industry. Each article includes AI-generated summary, full text, sentiment, event tags, industry classifications, named entities, and resolved company mentions. Filter by company, industry, query, date range, sentiment, news type, and more.

`GET /v1/news`

**Estimated cost:** Dynamic — use `"dryRun": true` in the Run API request to check the exact cost before calling.

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company` | string | No | Company website URL or UUID from Company Search |
| `primary_company` | string | No | Filter to articles where this company is the primary subject |
| `industry` | string | No | Comma-separated industry codes to filter by |
| `query` | string | No | Open-ended topic search query (e.g. 'Crude oil prices') |
| `title` | string | No | Search articles by title text |
| `start_date` | string | No | Start date in YYYY-MM-DD format |
| `end_date` | string | No | End date in YYYY-MM-DD format. Default: today |
| `limit` | integer | No | Max articles to return. Default: 10, Max: 1000 |
| `offset` | integer | No | Number of results to skip for pagination |
| `group_articles` | boolean | No | Group similar articles from the same event |
| `news_score_list` | string | No | Filter by news score: High, Medium, Low, or all |
| `countries` | string | No | Comma-separated ISO 3166-1 alpha-2 country codes |
| `blacklisted` | string | No | Comma-separated publisher domains to exclude |
| `type_list` | string | No | Filter by news type |
| `sentiment_list` | string | No | Comma-separated: positive, negative, neutral |
| `entity_person_list` | string | No | Comma-separated people names to filter by |
| `entity_location_list` | string | No | Comma-separated locations to filter by |
| `entity_product_list` | string | No | Comma-separated product names to filter by |
| `entity_event_list` | string | No | Comma-separated event names to filter by |
| `naics_code_list` | string | No | Comma-separated NAICS codes |
| `sic_code_list` | string | No | Comma-separated SIC codes |
| `iptc_code_list` | string | No | Comma-separated IPTC codes |
| `iab_code_list` | string | No | Comma-separated IAB codes |

```bash
curl -X POST 'https://api.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"akta-pro","path":"/v1/news","method":"GET","query":{"company":"<string>","primary_company":"<string>","industry":"<string>","query":"<string>","title":"<string>","start_date":"<string>","end_date":"<string>","limit":"<integer>","offset":"<integer>","group_articles":"<boolean>","news_score_list":"<string>","countries":"<string>","blacklisted":"<string>","type_list":"<string>","sentiment_list":"<string>","entity_person_list":"<string>","entity_location_list":"<string>","entity_product_list":"<string>","entity_event_list":"<string>","naics_code_list":"<string>","sic_code_list":"<string>","iptc_code_list":"<string>","iab_code_list":"<string>"}}'
```

---

Full details and an interactive quickstart: https://orthogonal.com/discover/akta-pro
