# Get a company and its hiring activity

`GET https://trawle.com/v1/companies/{slug}`

Open jobs, new and closed jobs, median days open, repost share and a 90-day trend.

## Path parameters

- `slug` (string, required): 1 to 80 characters. Example: `stripe`.

## Responses

### 200: The company.

Schema: Company

- `slug` (string, required): Example: `stripe`.
- `name` (string, required): Example: `Stripe`.
- `domain` (string | null, required): Example: `stripe.com`.
- `description` (string | null, required)
- `industry` (string | null, required)
- `hq` (object | null, required, PlaceRef)
  - `id` (integer, required): GeoNames id (regions are negative).
  - `name` (string, required): Example: `Copenhagen`.
  - `country` (string | null, required): ISO 3166-1 alpha-2 country code; null for multi-country regions. Example: `DK`.
- `careersUrl` (string | null, required)
- `url` (string, required): This company on Trawle.
- `stats` (object, required)
  - `openJobs` (integer, required)
  - `newLast7` (integer, required)
  - `closedLast30` (integer, required)
  - `medianDaysOpen` (integer | null, required)
  - `repostShare` (number, required): Share of open jobs that are reposts (0–1).
  - `trend` (array<integer>, required): Open jobs per day, oldest first, the last 90 days.
- `families` (array<object>, required)
  - `slug` (string, required)
  - `name` (string, required)
  - `count` (integer, required)
- `places` (array<object>, required)
  - `id` (integer, required): GeoNames id (regions are negative).
  - `name` (string, required): Example: `Copenhagen`.
  - `country` (string | null, required): ISO 3166-1 alpha-2 country code; null for multi-country regions. Example: `DK`.
  - `count` (integer, required)

### 404: Not found.

Schema: Error

- `error` (object, required)
  - `code` (string, required): Machine-readable: `invalid_request`, `not_found`, `forbidden`, `rate_limited`, `internal`. Example: `invalid_request`.
  - `message` (string, required): Example: `places: expected an array of GeoNames ids`.
  - `hint` (string, optional): What to do next, e.g. which lookup to call first. Example: `Resolve place names to ids with GET /v1/places?q=`.
  - `issues` (array<object>, optional): Validation problems, one per invalid field.
    - `path` (string, required)
    - `message` (string, required)

## Examples

### cURL

```bash
curl "https://trawle.com/v1/companies/stripe"
```

### TypeScript

```ts
import createClient from "openapi-fetch";

// npx openapi-typescript https://developers.trawle.com/openapi.json -o trawle.d.ts
import type { paths } from "./trawle";

const trawle = createClient<paths>({ baseUrl: "https://trawle.com" });

const { data, error } = await trawle.GET("/v1/companies/{slug}", {
  params: {
    path: {
      slug: "stripe",
    },
  },
});
```

### Python

```python
import requests

response = requests.get(
    "https://trawle.com/v1/companies/stripe",
)
response.raise_for_status()
data = response.json()
```

### Response 200

```json
{
  "slug": "stripe",
  "name": "Stripe",
  "domain": "stripe.com",
  "description": "string",
  "industry": "string",
  "hq": {
    "id": 0,
    "name": "Copenhagen",
    "country": "DK"
  },
  "careersUrl": "string",
  "url": "string",
  "stats": {
    "openJobs": 0,
    "newLast7": 0,
    "closedLast30": 0,
    "medianDaysOpen": 0,
    "repostShare": 0,
    "trend": [0]
  },
  "families": [
    {
      "slug": "string",
      "name": "string",
      "count": 0
    }
  ],
  "places": [
    {
      "id": 0,
      "name": "Copenhagen",
      "country": "DK",
      "count": 0
    }
  ]
}
```

### Response 404

```json
{
  "error": {
    "code": "not_found",
    "message": "Company not found",
    "hint": "Find company slugs with GET /v1/companies?q="
  }
}
```
