# Organizations

Two endpoints are available for company data:

| Endpoint | Purpose | Refresh cadence |
| --- | --- | --- |
| [`organizations`](/api/organizations#organization-list) | Overview of every organization currently tracked across ATS sources, with basic LinkedIn company details. Useful for browsing the catalog and discovering valid `organization`, `organization_domain`, and `organization_slug` values to filter jobs by. | Daily snapshot, refreshed at **02:00 UTC** |
| [`organizations-advanced`](/api/organizations#advanced-organization-details) | Per-organization deep data: LinkedIn profile, Crunchbase funding, Glassdoor ratings & reviews, headcount/follower/revenue timeseries, and news articles. Paginated, 100 results per page. | Monthly snapshot, refreshed on the **1st of each month at 02:00 UTC** |

## When you need these endpoints

Both organization endpoints are **primarily intended for ATS workflows** (`active-ats` and `modified-ats`).

- **Job board consumers (`active-jb`)** already receive LinkedIn organization fields inline on every job (the LinkedIn org is read directly from the job board, so the match is exact and always-on). You typically don't need to call `organizations` at all, and only need `organizations-advanced` if you specifically want the deeper Crunchbase / Glassdoor / timeseries data.
- **ATS consumers** can either opt into the inline basic fields with `include_basic_organization_details=true`, or fetch them separately from `organizations` / `organizations-advanced` and join on `org_linkedin_slug`. If you're **already calling `organizations-advanced`**, you do **not** need to set `include_basic_organization_details=true` on the ATS endpoints - every basic field is already in the advanced response.

## `organizations`

The response is a single JSON array (no pagination, no filters) of every organization currently in the ATS catalog. It is intended as a one-shot overview / lookup table - cache the response on your side and refer back to it when you need to confirm an organization's slug, domain, or LinkedIn details. There is no benefit to polling it on a tight schedule.

The payload is approximately 50MB and may not render in the API playground; use `curl` or your HTTP client of choice to download it directly.

### CSV format

For spreadsheet workflows, request the same daily organization snapshot with `format=csv`.

Copy/paste this URL into your browser and replace `*apikey*` with your API key:

```text
https://api.fantastic.jobs/v0.9/organizations?format=csv&apiKey=*apikey*
```

Or download it with `curl`:

```bash
curl -L -o organizations.csv "https://api.fantastic.jobs/v0.9/organizations?format=csv&apiKey=*apikey*"
```

The CSV uses the same field names as the JSON endpoint, including `org_linkedin_slug`, `org_linkedin_name`, `org_linkedin_industry`, `org_linkedin_headcount`, and `org_linkedin_headquarters`.

## `organizations-advanced`

Returns the full advanced profile for organizations matching your filters, 100 per page. Because the underlying snapshot only changes once a month, you don't need to re-fetch the same organization in between releases - cache results by `org_linkedin_slug` and only refresh after the **1st of the month**.

### Fields available only in advanced (not in basic)

The basic organization details (`include_basic_organization_details=true` on ATS, always-on for JB) cover the most common LinkedIn fields like name, industry, headcount, size, followers, HQ, locations, type, founded date, slogan, description, specialties, and the recruitment-agency flag.

`organizations-advanced` adds the following on top, all returned by default unless noted:

**Additional LinkedIn fields**

- `org_linkedin_url` - URL of the company's LinkedIn page
- `org_linkedin_id` - LinkedIn's internal company ID
- `org_linkedin_short_description` - Short tagline / one-liner
- `org_linkedin_logo` - Logo URL (LinkedIn-hosted)
- `org_linkedin_industries` - All LinkedIn industry tags (vs. the single primary industry in basic)
- `org_linkedin_estimated_revenue_lower_bound_usd`
- `org_linkedin_estimated_revenue_higher_bound_usd`
- `org_linkedin_largest_headcount_country`

**Industry / classification**

- `org_naics` - Primary NAICS code
- `org_sic` - SIC codes
- `org_markets` - Market segments

**Other links**

- `org_twitter_url`
- `org_crunchbase_profile_url`
- `org_crunchbase_profile_uuid`
- `org_glassdoor_profile_url`

**Crunchbase**

- `org_crunchbase_fiscal_year_end`
- `org_crunchbase_acquisition_status`
- `org_crunchbase_ipo_date`

**Glassdoor scalars** (counts and 0-5 ratings)

- `org_glassdoor_review_count`, `org_glassdoor_salary_count`, `org_glassdoor_interview_count`, `org_glassdoor_benefit_count`
- `org_glassdoor_primary_industry_name`, `org_glassdoor_primary_industry_sector_name`
- `org_glassdoor_culture_and_values_rating`, `org_glassdoor_diversity_and_inclusion_rating`, `org_glassdoor_work_life_balance_rating`, `org_glassdoor_senior_management_rating`, `org_glassdoor_compensation_and_benefits_rating`, `org_glassdoor_career_opportunities_rating`, `org_glassdoor_recommend_to_friend_rating`, `org_glassdoor_business_outlook_rating`

**Heavy nested fields (opt-in via the matching `include_*` flag)**

| Field | Flag |
| --- | --- |
| `org_crunchbase_funding_and_investment` (rounds, investors, totals) | `include_crunchbase_funding_and_investment=true` |
| `org_linkedin_headcount_timeseries` (weekly headcount + role/skill/region breakdowns) | `include_linkedin_headcount_timeseries=true` |
| `org_linkedin_followers_timeseries` (weekly follower counts + growth rates) | `include_linkedin_followers_timeseries=true` |
| `org_linkedin_estimated_revenue_timeseries` (monthly estimated revenue ranges) | `include_linkedin_estimated_revenue_timeseries=true` |
| `org_news_articles` (recent news mentioning the company) | `include_news_articles=true` |
| `org_glassdoor_reviews` (recent employee reviews) | `include_glassdoor_reviews=true` |

Each `include_*` flag adds significant payload size; only enable the ones you actually consume.

> Note: `org_crunchbase_total_investment` is exposed inline in the basic response (as a single integer) but in advanced lives only inside `org_crunchbase_funding_and_investment.crunchbase_total_investment_usd` - so if you rely on that one number alone, you also need to opt into `include_crunchbase_funding_and_investment=true`.
