# LinkedIn Jobs — Zapi reference > LinkedIn job search through its public guest API — search, job detail, company and location typeahead, no account required. **Base URL:** `https://api.zpi.web.id` **Auth:** Send `x-api-key: YOUR_KEY` header on every request. Get a free key at https://zpi.web.id/dashboard/keys. **Response envelope:** `{ content, message, errors }` **Rate limit:** 60 req/min on free tier. **Related:** - Detail page: https://zpi.web.id/api/jobs/linkedin - Endpoint catalog: https://zpi.web.id/category/jobs - Concise index: https://zpi.web.id/llms.txt - Full reference: https://zpi.web.id/llms-full.txt --- ## LinkedIn Jobs **Category:** jobs · **Slug:** `linkedin` **Detail page:** https://zpi.web.id/api/jobs/linkedin LinkedIn job search through its public guest API — search, job detail, company and location typeahead, no account required. **Tags:** linkedin, jobs, careers, global ### Company Jobs Every job one LinkedIn company is advertising — the guest search API with `f_C` pre-bound, rung 1 (direct), 390-620ms. Upstream: /jobs-guest/jobs/api/seeMoreJobPostings/search. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/jobs:linkedin/company-jobs` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `companyId` | string | query | yes | LinkedIn company id, from the company-suggest endpoint. | | `query` | string | query | no | Free-text search within that company's postings. | | `location` | string | query | no | Place name as LinkedIn spells it — a country, region or city. | | `geoId` | string | query | no | LinkedIn geo id, from the location-suggest endpoint. More precise than `location`. | | `postedWithin` | enum(24h|week|month) | query | no | Only postings published inside this window. | | `page` | number | query | no | Page number, 10 jobs per page. Default 1. | **cURL:** ```bash curl "https://api.zpi.web.id/v1/jobs:linkedin/company-jobs?companyId=1035&query=engineer&location=Indonesia&geoId=104370960&postedWithin=month&page=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/jobs:linkedin/company-jobs?companyId=1035&query=engineer&location=Indonesia&geoId=104370960&postedWithin=month&page=1", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/jobs:linkedin/company-jobs?companyId=1035&query=engineer&location=Indonesia&geoId=104370960&postedWithin=month&page=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "page": 1, "count": 1, "items": [ { "url": "https://id.linkedin.com/jobs/view/digital-solution-engineer-ai-apps-at-microsoft-4450325467", "slug": "digital-solution-engineer-ai-apps-at-microsoft", "jobId": "4450325467", "title": "Digital Solution Engineer - AI & Apps", "badges": [ "Actively Hiring" ], "company": { "url": "https://www.linkedin.com/company/microsoft", "code": "microsoft", "logo": "https://media.licdn.com/dms/image/v2/D560BAQH32RJQCl3dDQ/company-logo_100_100/B56ZYQ0mrGGoAU-/0/1744038948046/microsoft_logo", "name": "Microsoft" }, "location": { "city": "Jakarta", "name": "Jakarta, Jakarta, Indonesia", "region": "Jakarta", "country": "Indonesia" }, "postedAt": "2026-08-28" } ], "limit": 10, "query": "engineer", "total": null, "hasMore": false, "nextPage": null, "provider": "linkedin", "companyId": "1035" } ``` --- ### Company Suggest LinkedIn company typeahead — the same JSON list the guest job-search box is backed by, rung 1 (direct), ~330ms. Upstream: /jobs-guest/api/typeaheadHits?typeaheadType=COMPANY. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/jobs:linkedin/company-suggest` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `query` | string | query | yes | Partial company name to complete. | **cURL:** ```bash curl "https://api.zpi.web.id/v1/jobs:linkedin/company-suggest?query=Microsoft" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/jobs:linkedin/company-suggest?query=Microsoft", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/jobs:linkedin/company-suggest?query=Microsoft", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 10, "items": [ { "name": "Microsoft", "companyId": "1035" }, { "name": "Microsoft AI", "companyId": "18201534" }, { "name": "Microsoft Student Ambassador", "companyId": "102462081" }, { "name": "Microsoft India", "companyId": "29053421" }, { "name": "Microsoft for Startups", "companyId": "19043535" }, { "name": "Microsoft Leap", "companyId": "18661999" } ], "query": "Microsoft", "provider": "linkedin" } ``` --- ### Job One LinkedIn job in full — the logged-out guest detail page, rung 1 (direct), 270-890ms. Upstream: /jobs-guest/jobs/api/jobPosting/{jobId}. It answers an HTML fragment built around - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/jobs:linkedin/job/:jobId` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `jobId` | string | path | yes | LinkedIn job posting id, as returned by the search endpoint. | **cURL:** ```bash curl "https://api.zpi.web.id/v1/jobs:linkedin/job/:jobId" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/jobs:linkedin/job/:jobId", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/jobs:linkedin/job/:jobId", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "url": "https://id.linkedin.com/jobs/view/sr-software-engineer-at-revcomm-indonesia-4403689374", "slug": "sr-software-engineer-at-revcomm-indonesia", "isNew": true, "jobId": "4403689374", "title": "Sr. Software Engineer", "company": { "url": "https://jp.linkedin.com/company/revcomm-id", "code": "revcomm-id", "logo": "https://media.licdn.com/dms/image/v2/C560BAQG2SYOgo4ti1g/company-logo_100_100/company-logo_100_100/0/1658380176567", "name": "RevComm Indonesia" }, "function": "Engineering and Information Technology", "location": { "name": "Jakarta, Indonesia" }, "postedAgo": "11 hours ago", "applicants": 102, "industries": [ "Telecommunications" ], "description": "
Company Description
RevComm is an award-winning Unicorn SaaS startup recognized by Forbes, Sequoia, and Meritech Capital as one of the Top 50 AI Companies in the World, alongside global leaders such as AWS and Nvidia. RevComm focuses on revolutionizing business communication through innovative AI and cloud-based software. Its flagship product, “MiiTel Phone,” is an IP-phone powered by a Revenue Intelligence Platform that analyzes and visualizes sales calls and contact center interactions to optimize sales and customer service processes. Driven by the mission \"Reinventing communications to create a society where people think of others,\" RevComm continues to push the boundaries of corporate communication.
Role Description
The Senior Software Engineer will play a leading role in designing, developing, and maintaining back-end systems and applications to support RevComm’s innovative software solutions. Daily responsibilities include collaborating with cross-functional teams, writing clean and scalable code, reviewing and refining program structure, and ensuring optimal system performance. The role requires attention to detail and adherence to high code quality standards. A working understanding of the infrastructure in (cloud environment, CI/CD) is a strong advantage. This is a full-time, Hybrid / Remote position located in Jakarta, Indonesia.
Qualifications