# LinkedIn API

> LinkedIn returns job listings, company profiles, posts, and similar robotics companies as a workflow and API.

LinkedIn searches public job listings by keywords and location, with optional filters, and gets open job details from a link or title and company. LinkedIn lists open jobs by company and gets public company profiles or recent posts from a company name or page link. LinkedIn finds similar midsized robotics and physical-AI companies from named companies or company page links.

- Page: https://fous.com/workflows/linkedin
- Handle: `@linkedin`
- Category: [Jobs](https://fous.com/workflows/category/jobs)
- Source website: https://linkedin.com
- Last verified: Sep 30, 2026
- Fous is not affiliated with LinkedIn.

## Methods

### Find similar robotics companies

Operation `find_similar_robotics_companies`, version 1. 1 credit per call.

Find midsized robotics and physical-AI companies similar to companies you name, using their public LinkedIn Similar pages lists. Midsized means 51–500 employees; the visible lists are not exhaustive.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `companies` | array | yes |  | Company names or LinkedIn company page links to find similar companies for, for example Skild AI, Gecko Robotics, and Nimble Robotics. |
| `max_results` | integer | no | `5` | Maximum number of matching companies to return, for example 20. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "companies"
  ],
  "properties": {
    "companies": {
      "type": "array",
      "items": {
        "type": "string",
        "examples": [
          "Gecko Robotics",
          "Skild AI",
          "Nimble Robotics"
        ],
        "description": "Use the same format as these example values: \"Gecko Robotics\", \"Skild AI\", \"Nimble Robotics\"."
      },
      "maxItems": 5,
      "minItems": 1,
      "description": "Company names or LinkedIn company page links to find similar companies for, for example Skild AI, Gecko Robotics, and Nimble Robotics.",
      "examples": [
        [
          "Gecko Robotics"
        ],
        [
          "Skild AI",
          "Gecko Robotics",
          "Nimble Robotics"
        ],
        [
          "Skild AI",
          "Nimble Robotics"
        ]
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 30,
      "maximum": 50,
      "minimum": 1,
      "description": "Maximum number of matching companies to return, for example 20.",
      "x-fous-developer": true,
      "examples": [
        5,
        10
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "companies": [
        "Gecko Robotics"
      ],
      "max_results": 5
    },
    {
      "companies": [
        "Skild AI",
        "Gecko Robotics",
        "Nimble Robotics"
      ]
    },
    {
      "companies": [
        "Skild AI",
        "Nimble Robotics"
      ],
      "max_results": 10
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `companies` | array |  |  |
| `companies[].industry` | string or null | `"Robotics Engineering"` |  |
| `companies[].similar_to` | string | `"Gecko Robotics"` |  |
| `companies[].description` | string or null | `"Industrial humanoids hard at work."` |  |
| `companies[].company_name` | string | `"Agility Robotics"` |  |
| `companies[].company_size` | string | `"201-500 employees"` |  |
| `companies[].headquarters` | string or null | `"Salem, Oregon"` |  |
| `companies[].linkedin_page_link` | string | `"https://www.linkedin.com/company/agilityrobotics"` |  |

**Example input**

```json
{
  "companies": [
    "Gecko Robotics"
  ],
  "max_results": 5
}
```

**Example output**

```json
{
  "companies": [
    {
      "industry": "Robotics Engineering",
      "similar_to": "Gecko Robotics",
      "description": "Industrial humanoids hard at work.",
      "company_name": "Agility Robotics",
      "company_size": "201-500 employees",
      "headquarters": "Salem, Oregon",
      "linkedin_page_link": "https://www.linkedin.com/company/agilityrobotics"
    },
    {
      "industry": "Robot Manufacturing",
      "similar_to": "Gecko Robotics",
      "description": "Apptronik is a human-centered robotics company developing AI-powered robots to support humanity in every facet of life. Our humanoid robot, Apollo, is designed to collaborate thoughtfully with humans—…",
      "company_name": "Apptronik",
      "company_size": "201-500 employees",
      "headquarters": "Austin, Texas",
      "linkedin_page_link": "https://www.linkedin.com/company/apptronik-inc."
    },
    {
      "industry": "Automation Machinery Manufacturing",
      "similar_to": "Gecko Robotics",
      "description": "Since 2010, Carnegie Robotics (CRL) has been creating full-stack autonomous systems, and producing cutting-edge stereo cameras and sensors that power robotic technologies.  We partner with some of the…",
      "company_name": "Carnegie Robotics",
      "company_size": "51-200 employees",
      "headquarters": "Pittsburgh, PA",
      "linkedin_page_link": "https://www.linkedin.com/company/carnegie-robotics"
    }
  ]
}
```

### Get company profile

Operation `get_company_profile`, version 1. 1 credit per call.

Get the public overview of a LinkedIn company from its name or company page link. Details not displayed publicly are null; people profiles are not supported.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `company` | string | yes | `"Airbnb"` | Company name or LinkedIn company page link, for example Microsoft or https://www.linkedin.com/company/microsoft. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "company"
  ],
  "properties": {
    "company": {
      "type": "string",
      "description": "Company name or LinkedIn company page link, for example Microsoft or https://www.linkedin.com/company/microsoft.",
      "examples": [
        "Airbnb",
        "Microsoft",
        "https://www.linkedin.com/company/microsoft"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "company": "Airbnb"
    },
    {
      "company": "Microsoft"
    },
    {
      "company": "https://www.linkedin.com/company/microsoft"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `tagline` | string or null |  |  |
| `website` | string or null | `"http://airbnb.com"` |  |
| `industry` | string or null | `"Software Development"` |  |
| `description` | string or null | `"Airbnb was born in 2007 when two hosts welcomed three guests to their San Francisco home, and has since grown to over 5` |  |
| `specialties` | array or null |  |  |
| `company_name` | string or null | `"Airbnb"` |  |
| `company_size` | string or null | `"5,001-10,000 employees"` |  |
| `company_type` | string or null | `"Public Company"` |  |
| `founded_year` | integer or null | `2007` |  |
| `headquarters` | string or null | `"San Francisco, CA"` |  |
| `follower_count` | integer or null | `3487142` |  |
| `logo_image_link` | string or null | `"https://media.licdn.com/dms/image/v2/C560BAQFhfl32crIGIw/company-logo_200_200/company-logo_200_200/0/1630637496980/airb` |  |
| `office_locations` | array or null |  |  |
| `linkedin_page_link` | string or null | `"https://www.linkedin.com/company/airbnb"` |  |

**Example input**

```json
{
  "company": "Airbnb"
}
```

**Example output**

```json
{
  "tagline": null,
  "website": "http://airbnb.com",
  "industry": "Software Development",
  "description": "Airbnb was born in 2007 when two hosts welcomed three guests to their San Francisco home, and has since grown to over 5 million hosts who have welcomed over 2 billion guest arrivals in almost every co…",
  "specialties": [
    "travel accommodations",
    "collaborative economy",
    "hospitality"
  ],
  "company_name": "Airbnb",
  "company_size": "5,001-10,000 employees",
  "company_type": "Public Company",
  "founded_year": 2007,
  "headquarters": "San Francisco, CA",
  "follower_count": 3487142,
  "logo_image_link": "https://media.licdn.com/dms/image/v2/C560BAQFhfl32crIGIw/company-logo_200_200/company-logo_200_200/0/1630637496980/airbnb_logo?e=2147483647&v=beta&t=DM3Ato8740GzY9eDPP_-yOTo68rXQlVD9YK4n3hR3Is",
  "office_locations": [
    "888 Brannan Street, San Francisco, CA 94103, US",
    "158 Cecil St, Singapore, Singapore 069545, SG",
    "South Lotts Road, Dublin, County Dublin, IE"
  ],
  "linkedin_page_link": "https://www.linkedin.com/company/airbnb"
}
```

### Get job

Operation `get_job`, version 1. 1 credit per call.

Get the full description and available details for an open LinkedIn job from its link or title and company. Closed postings are not returned; some details may not be shown publicly.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `job` | string | yes | `"Senior Manager, Performance Analytics & Insights, Oncology - Breast Cancer at Pfizer"` | LinkedIn job link or job title and company, for example Senior Manager, Performance Analytics & Insights, Oncology - Breast Cancer at Pfizer. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "job"
  ],
  "properties": {
    "job": {
      "type": "string",
      "description": "LinkedIn job link or job title and company, for example Senior Manager, Performance Analytics & Insights, Oncology - Breast Cancer at Pfizer.",
      "examples": [
        "Senior Manager, Performance Analytics & Insights, Oncology - Breast Cancer at Pfizer",
        "https://www.linkedin.com/jobs/view/senior-manager-performance-analytics-insights-oncology-breast-cancer-at-pfizer-4468303415",
        "Data Analyst at ICF"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "job": "Senior Manager, Performance Analytics & Insights, Oncology - Breast Cancer at Pfizer"
    },
    {
      "job": "https://www.linkedin.com/jobs/view/senior-manager-performance-analytics-insights-oncology-breast-cancer-at-pfizer-4468303415"
    },
    {
      "job": "Data Analyst at ICF"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `title` | string | `"Data Analyst"` |  |
| `salary` | string or null | `"$81,499.00 - $138,549.00"` | Pay range as shown in the posting, or null if not shown. |
| `company` | string | `"ICF"` |  |
| `industry` | string or null | `"Business Consulting and Services"` |  |
| `job_link` | string | `"https://www.linkedin.com/jobs/view/data-analyst-at-icf-4470052114"` |  |
| `location` | string or null | `"Reston, VA"` |  |
| `description` | string |  |  |
| `posted_date` | string or null | `"2026-09-24"` |  |
| `job_function` | string or null | `"Information Technology"` |  |
| `workplace_type` | string or null | `"Remote"` |  |
| `employment_type` | string or null | `"Full-time"` |  |
| `seniority_level` | string or null | `"Not Applicable"` |  |
| `number_of_applicants` | string or null | `"Over 200"` | Applicant count as shown, such as 53 or Over 200; null when not shown. |

**Example input**

```json
{
  "job": "Data Analyst at ICF"
}
```

**Example output**

```json
{
  "title": "Data Analyst",
  "salary": "$81,499.00 - $138,549.00",
  "company": "ICF",
  "industry": "Business Consulting and Services",
  "job_link": "https://www.linkedin.com/jobs/view/data-analyst-at-icf-4470052114",
  "location": "Reston, VA",
  "description": "Description\nICF is seeking a Data Analyst to support an enterprise learning data and analytics platform that leverages emerging technology to ingest data in real time at extreme volumes and high veloc…",
  "posted_date": "2026-09-24",
  "job_function": "Information Technology",
  "workplace_type": "Remote",
  "employment_type": "Full-time",
  "seniority_level": "Not Applicable",
  "number_of_applicants": "Over 200"
}
```

### List company jobs

Operation `list_company_jobs`, version 1. 1 credit per call.

List open LinkedIn jobs posted by a named company, with optional location and result limit. Workplace type is returned only when displayed.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `company` | string | yes | `"OpenAI"` | Company name, for example Microsoft. |
| `location` | string | no | `"remote"` | City, country, or remote; for example New York, United States. Defaults to anywhere. |
| `max_results` | integer | no | `5` | Maximum number of jobs, for example 25 (at most 100). |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "company"
  ],
  "properties": {
    "company": {
      "type": "string",
      "minLength": 1,
      "description": "Company name, for example Microsoft.",
      "examples": [
        "OpenAI",
        "Microsoft",
        "The New York Times"
      ]
    },
    "location": {
      "type": "string",
      "default": "anywhere",
      "description": "City, country, or remote; for example New York, United States. Defaults to anywhere.",
      "examples": [
        "remote",
        "New York, NY",
        "Reykjavik, Iceland"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 25,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of jobs, for example 25 (at most 100).",
      "x-fous-developer": true,
      "examples": [
        5,
        30,
        15
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "company": "OpenAI",
      "location": "remote",
      "max_results": 5
    },
    {
      "company": "Microsoft",
      "location": "New York, NY",
      "max_results": 5
    },
    {
      "company": "The New York Times",
      "location": "Reykjavik, Iceland",
      "max_results": 5
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `jobs` | array |  | Open job postings, newest first. |
| `jobs[].title` | string | `"Technical Threat Investigator, Threat Intel Engineering"` |  |
| `jobs[].job_link` | string | `"https://www.linkedin.com/jobs/view/technical-threat-investigator-threat-intel-engineering-at-openai-4416717742"` |  |
| `jobs[].location` | string or null | `"United States"` |  |
| `jobs[].posted_date` | string or null | `"2026-09-28"` |  |
| `jobs[].workplace_type` | string or null |  |  |
| `company` | string | `"OpenAI"` | Matched company name. |

**Example input**

```json
{
  "company": "OpenAI",
  "location": "remote",
  "max_results": 5
}
```

**Example output**

```json
{
  "jobs": [
    {
      "title": "Technical Threat Investigator, Threat Intel Engineering",
      "job_link": "https://www.linkedin.com/jobs/view/technical-threat-investigator-threat-intel-engineering-at-openai-4416717742",
      "location": "United States",
      "posted_date": "2026-09-28",
      "workplace_type": null
    },
    {
      "title": "Security Engineer, Insider Threat Detection & Response",
      "job_link": "https://www.linkedin.com/jobs/view/security-engineer-insider-threat-detection-response-at-openai-4416734470",
      "location": "United States",
      "posted_date": "2026-09-28",
      "workplace_type": null
    },
    {
      "title": "Principal Software Engineer, Infrastructure Security",
      "job_link": "https://www.linkedin.com/jobs/view/principal-software-engineer-infrastructure-security-at-openai-4417163277",
      "location": "United States",
      "posted_date": "2026-09-28",
      "workplace_type": null
    }
  ],
  "company": "OpenAI"
}
```

### List company posts

Operation `list_company_posts`, version 1. 1 credit per call.

List a company’s recent public LinkedIn posts in page order from its name or company page link. Only updates visible on its public page are available.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `company` | string | yes | `"https://www.linkedin.com/company/microsoft/"` | Company name or LinkedIn company page link, for example Unilever or https://www.linkedin.com/company/unilever. |
| `max_results` | integer | no | `3` | Maximum number of recent posts to return, for example 10. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "company"
  ],
  "properties": {
    "company": {
      "type": "string",
      "description": "Company name or LinkedIn company page link, for example Unilever or https://www.linkedin.com/company/unilever.",
      "examples": [
        "https://www.linkedin.com/company/microsoft/",
        "Unilever"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 10,
      "maximum": 20,
      "minimum": 1,
      "description": "Maximum number of recent posts to return, for example 10.",
      "x-fous-developer": true,
      "examples": [
        3
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "company": "https://www.linkedin.com/company/microsoft/",
      "max_results": 3
    },
    {
      "company": "Unilever"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `posts` | array |  |  |
| `posts[].text` | string or null | `"The path to quantum computing isn’t a single breakthrough. It’s a journey.\n\nIn Maryland, our new quantum research cen` |  |
| `posts[].post_link` | string | `"https://www.linkedin.com/posts/activity-7509223583018115072-n-xQ"` |  |
| `posts[].image_link` | string or null | `"https://media.licdn.com/dms/image/v2/C5603AQG3D8HkVdcdTQ/profile-displayphoto-shrink_400_400/profile-displayphoto-shrin` |  |
| `posts[].posted_date` | string or null | `"2026-09-25"` | Approximate date from the displayed relative time, YYYY-MM-DD. |
| `posts[].comment_count` | integer or null | `60` |  |
| `posts[].reaction_count` | integer or null | `953` |  |
| `posts[].posted_date_as_shown` | string or null | `"3d"` |  |
| `company` | string | `"Microsoft"` | Company name shown on LinkedIn. |

**Example input**

```json
{
  "company": "https://www.linkedin.com/company/microsoft/",
  "max_results": 3
}
```

**Example output**

```json
{
  "posts": [
    {
      "text": "People started by asking AI questions. Now they're delegating tasks, building solutions, and automating work that runs in the background. We see those patterns in trillions of productivity signals acr…",
      "post_link": "https://www.linkedin.com/posts/activity-7509223583018115072-n-xQ",
      "image_link": "https://media.licdn.com/dms/image/v2/C5603AQG3D8HkVdcdTQ/profile-displayphoto-shrink_400_400/profile-displayphoto-shrink_400_400/0/1646778430949?e=2147483647&v=beta&t=KKiSdFHnXFrZAkWP4PDmst9UCCQO1vmOK…",
      "posted_date": "2026-09-25",
      "comment_count": 60,
      "reaction_count": 953,
      "posted_date_as_shown": "3d"
    },
    {
      "text": "The New Bottleneck The bottleneck is no longer intelligence.\n\nOver the last six months, intelligence has accelerated dramatically. But smarter models are not enough for everyone to benefit from novel …",
      "post_link": "https://www.linkedin.com/posts/activity-7509236426786398208-yJhJ",
      "image_link": "https://media.licdn.com/dms/image/v2/D5622AQEH-m-2UytgOg/feedshare-shrink_800/B56aDYqvCaKwAc-/0/1790341477125?e=2147483647&v=beta&t=7MlicAwc9VxQAa8oZ-MEzsInlPP_GR_u5DTJKXLqITo",
      "posted_date": "2026-09-25",
      "comment_count": 53,
      "reaction_count": 941,
      "posted_date_as_shown": "3d"
    }
  ],
  "company": "Microsoft"
}
```

### Search jobs

Operation `search_jobs`, version 1. 1 credit per call.

Search public LinkedIn job listings by keywords and location, with optional date, seniority, employment type and company filters. Returns up to 100 listings in LinkedIn order; salary, applicants and workplace type are null when not shown or clearly stated. Some filters require checking individual listings, so selective searches may return fewer results.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `company` | string | no | `"Microsoft"` | Company name, for example Microsoft. Uses an exact LinkedIn company-name match. |
| `job_type` | string | no | `"full_time"` | Employment type, for example full_time; defaults to any. |
| `keywords` | string | yes | `"marketing manager"` | Job title or keywords, for example marketing manager. |
| `location` | string | yes | `"London"` | City, country or remote, for example London. |
| `max_results` | integer | no | `2` | Most jobs to return, for example 25; maximum 100. |
| `posted_within` | string | no | `"last_month"` | When posted, for example last_week; defaults to any. |
| `experience_level` | string | no |  | Listed seniority level, for example mid_senior; defaults to any. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "keywords",
    "location"
  ],
  "properties": {
    "company": {
      "type": "string",
      "description": "Company name, for example Microsoft. Uses an exact LinkedIn company-name match.",
      "examples": [
        "Microsoft",
        "Impossible Company Name XQZ123321"
      ]
    },
    "job_type": {
      "enum": [
        "full_time",
        "part_time",
        "contract",
        "temporary",
        "internship",
        "any"
      ],
      "type": "string",
      "default": "any",
      "description": "Employment type, for example full_time; defaults to any.",
      "examples": [
        "full_time"
      ]
    },
    "keywords": {
      "type": "string",
      "minLength": 1,
      "description": "Job title or keywords, for example marketing manager.",
      "examples": [
        "marketing manager",
        "software engineer",
        "barista"
      ]
    },
    "location": {
      "type": "string",
      "minLength": 1,
      "description": "City, country or remote, for example London.",
      "examples": [
        "London",
        "New York"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 25,
      "maximum": 100,
      "minimum": 1,
      "description": "Most jobs to return, for example 25; maximum 100.",
      "x-fous-developer": true,
      "examples": [
        2,
        1
      ]
    },
    "posted_within": {
      "enum": [
        "last_24_hours",
        "last_week",
        "last_month",
        "any"
      ],
      "type": "string",
      "default": "any",
      "description": "When posted, for example last_week; defaults to any.",
      "examples": [
        "last_month"
      ]
    },
    "experience_level": {
      "enum": [
        "internship",
        "entry",
        "associate",
        "mid_senior",
        "director",
        "executive",
        "any"
      ],
      "type": "string",
      "default": "any",
      "description": "Listed seniority level, for example mid_senior; defaults to any."
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "keywords": "marketing manager",
      "location": "London",
      "max_results": 2
    },
    {
      "company": "Microsoft",
      "keywords": "software engineer",
      "location": "New York",
      "max_results": 2,
      "posted_within": "last_month"
    },
    {
      "company": "Impossible Company Name XQZ123321",
      "keywords": "marketing manager",
      "location": "London",
      "max_results": 2
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `jobs` | array |  | Jobs in the order returned by LinkedIn. |
| `jobs[].title` | string | `"Marketing Manager"` | Job title. |
| `jobs[].salary` | string or null |  | Salary as displayed on the posting, including currency and pay period. |
| `jobs[].company` | string or null | `"Bloom Search International"` | Hiring company. |
| `jobs[].job_link` | string | `"https://www.linkedin.com/jobs/view/4470446697"` | Public page for this job. |
| `jobs[].location` | string or null | `"London Area, United Kingdom"` | Location listed for the job. |
| `jobs[].posted_date` | string or null | `"2026-09-22"` | Listing date, YYYY-MM-DD. |
| `jobs[].workplace_type` | string or null |  | Workplace arrangement when explicitly stated. |
| `jobs[].number_of_applicants` | string or null | `"130 applicants"` | Applicant count as displayed, including qualifiers such as Over. |

**Example input**

```json
{
  "keywords": "marketing manager",
  "location": "London",
  "max_results": 2
}
```

**Example output**

```json
{
  "jobs": [
    {
      "title": "Marketing Manager",
      "salary": null,
      "company": "Bloom Search International",
      "job_link": "https://www.linkedin.com/jobs/view/4470446697",
      "location": "London Area, United Kingdom",
      "posted_date": "2026-09-22",
      "workplace_type": null,
      "number_of_applicants": "130 applicants"
    },
    {
      "title": "Marketing Manager [Brand]",
      "salary": null,
      "company": "Travelzoo",
      "job_link": "https://www.linkedin.com/jobs/view/4469179764",
      "location": "London Area, United Kingdom",
      "posted_date": "2026-09-18",
      "workplace_type": null,
      "number_of_applicants": "90 applicants"
    }
  ]
}
```

## Quick start

Call the API with a Fous API key (`FOUS_API_KEY`). To create one, turn on Developer mode in Fous Studio, then open Keys & connections → API keys (https://app.fous.com/keys).

```bash
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
: "${FOUS_API_KEY:?Set FOUS_API_KEY before running this example}"

curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 120 \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@linkedin",
  "visibility": "public",
  "operation": "find_similar_robotics_companies",
  "version": 1,
  "input": {
    "companies": [
      "Gecko Robotics"
    ],
    "max_results": 5
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
import json
import os
import urllib.error
import urllib.request

api_key = os.environ.get("FOUS_API_KEY")
if not api_key:
    raise RuntimeError("Set FOUS_API_KEY before running this example")

body = json.loads("{\n  \"api\": \"@linkedin\",\n  \"visibility\": \"public\",\n  \"operation\": \"find_similar_robotics_companies\",\n  \"version\": 1,\n  \"input\": {\n    \"companies\": [\n      \"Gecko Robotics\"\n    ],\n    \"max_results\": 5\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=120) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
// First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
const apiKey = process.env.FOUS_API_KEY;
if (!apiKey) throw new Error("Set FOUS_API_KEY before running this example");

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(120_000),
  body: JSON.stringify({
  "api": "@linkedin",
  "visibility": "public",
  "operation": "find_similar_robotics_companies",
  "version": 1,
  "input": {
    "companies": [
      "Gecko Robotics"
    ],
    "max_results": 5
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

Or describe the data in plain language: send `{"api":"@linkedin","prompt":"Describe the data you need, with every detail"}` to the same URL. Fous fills in the input, runs the method that fits and returns only the fields you asked for; `data.route.calls[].request` is the exact call it made. Routing is free; the run costs the same.

## Use cases

- Compare job listings by role, location, seniority, and employment type
- Review available details for an open job
- Track open roles posted by a named company
- Research public company profiles and recent posts
- Discover midsized robotics companies similar to named firms

## FAQ

### Is Fous affiliated with LinkedIn?

No. Fous is not affiliated with LinkedIn. This workflow reads the public linkedin.com website and returns its data.

### How much does it cost?

Each run costs 1 credit. With pay-as-you-go, a credit costs 1¢; monthly plans cost less per credit.

### Do I need a LinkedIn account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from linkedin.com when you run it; repeating the same request within a day may return the saved result. Fous checks this workflow automatically; it last passed a check on Sep 30, 2026.

### What jobs match a role and location?

Use Search jobs with required keywords and location, and optional filters such as seniority, employment type, company, and posting date.

### What details are shown for an open job?

Use Get job with a LinkedIn job link or the job title and company.

### What jobs has a company posted?

Use List company jobs with the company name, and optionally a location.

## Related

- [Lever API](https://fous.com/workflows/lever.md): Public job boards for companies hiring through Lever.
- [Indeed API](https://fous.com/workflows/indeed.md): Indeed returns public first-page listings and details for available, unexpired jobs, company employee ratings and CEO approval when available, and typical pay from public salary pages.
- [Workday API](https://fous.com/workflows/workday.md): Public job listings on Workday career sites.
- [Greenhouse API](https://fous.com/workflows/greenhouse.md): Greenhouse provides public company job boards and open roles, with filtered listings capped at 500 jobs and full posting text, including identifiable pay ranges.
- [Glassdoor API](https://fous.com/workflows/glassdoor.md): Employee reviews and company ratings.
- [ZipRecruiter API](https://fous.com/workflows/ziprecruiter.md): ZipRecruiter returns up to 100 public job listings per search and U.S. job-title pay ranges and top-paying cities where public salary pages exist.
- [Remote OK API](https://fous.com/workflows/remote-ok.md): Remote job postings from Remote OK.
- [Trustpilot API](https://fous.com/workflows/trustpilot.md): Trustpilot provides company ratings, reply and location details when available, recent public reviews, and company search results with ratings, review counts, categories, locations, and links.
- [All Jobs workflows](https://fous.com/workflows/category/jobs)
