> ## Documentation Index
> Fetch the complete documentation index at: https://docs.keyapi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Search jobs

> Search jobs by keywords and filters.

 **Notes:**
- Realtime endpoints may hit risk control; if the API returns code=500, keep retrying (code!=200 does not consume your current usage quota)

<div className="inline-flex items-center gap-2 px-4 py-2 bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg">
  <span className="text-base">🪙</span>
  <span className="text-sm font-medium text-yellow-900 dark:text-yellow-100"><span className="font-semibold">6 credits</span><span className="text-yellow-700 dark:text-yellow-300 ml-1">per request</span></span>
</div>

## Copy for AI

<div className="my-6 rounded-xl border border-gray-200 bg-gray-50 p-5 dark:border-gray-800 dark:bg-gray-900/40">
  <div className="min-w-0">
    <p className="text-base font-semibold text-gray-900 dark:text-gray-100">🤖 Why Code When AI Can Do It For You?</p>
    <p className="mt-1 text-sm text-gray-700 dark:text-gray-300">Stop writing code like it's 1970! Let AI do the heavy lifting - click the sparkles to copy a perfectly formatted prompt for ChatGPT, Claude, or your favorite AI assistant.</p>
  </div>

  <div className="mt-4">
    <button
      type="button"
      className="inline-flex items-center gap-2 rounded-md border border-emerald-300 bg-emerald-50 px-3 py-2 text-sm font-medium text-emerald-800 hover:bg-emerald-100 dark:border-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-100 dark:hover:bg-emerald-900/50"
      onClick={() => navigator.clipboard.writeText(`I need to call the following KeyAPI endpoint. Please generate a complete and directly runnable Python example based on the API information provided below.

## API Information

Endpoint: GET https://api.keyapi.ai/v1/linkedin/search_jobs
Summary: Search jobs

Required Headers:
- Authorization: Bearer <YOUR_API_KEY>

Parameters:
- keywords (Optional): Search keywords.
- geo_code (Optional): LinkedIn geo code,92000000 = worldwide,default: 92000000. Example: 92000000
- sort_by (Optional): Most relevant / Most recent.
- date_posted (Optional): Any time / Past month / Past week / Past 24 hours.
-  experience_levels (Optional): Internship / Entry level / Associate / Mid-Senior level / Director / Executive.
- company_ids (Optional): Company ids, repeatable.
- title_ids (Optional): Title ids, repeatable.
- onsite_remotes (Optional): On-site / Remote / Hybrid.
- functions (Optional): Functions, repeatable.
- industries (Optional): Industries, repeatable.
- job_types (Optional): Full-time / Part-time / Contract / Temporary / Internship / Volunteer.
- easy_apply (Optional): Easy-apply jobs only. Example: false
- under_10_applicants (Optional): Under 10 applicants only. Example: false
- start (Optional): Pagination offset.


## Code Requirements

- Use the Python \`requests\` library
- Provide a complete and directly runnable example
- Handle HTTP request errors, timeouts, and non-2xx responses
- Handle JSON parsing errors
- Prefer the Example values provided in the API information for sample parameters
- Keep the code simple and avoid unnecessary abstractions or complexity
`)}
    >
      <span>✨</span>
      <span>Copy for AI</span>
    </button>
  </div>
</div>


## OpenAPI

````yaml en/linkedin.openapi.json GET /v1/linkedin/search_jobs
openapi: 3.0.1
info:
  title: Linkedin API english documentation
  description: >-
    The english reference documentation of the Linkedin API includes the
    interface's purpose, parameter description, response status, and sample
    structure.
  version: 1.0.0
servers:
  - url: https://api.keyapi.ai
    description: Production-KeyAPI
security:
  - JWT Bearer: []
tags: []
paths:
  /v1/linkedin/search_jobs:
    get:
      tags: []
      summary: Search jobs
      description: >-
        Search jobs by keywords and filters.

         **Notes:**
        - Realtime endpoints may hit risk control; if the API returns code=500,
        keep retrying (code!=200 does not consume your current usage quota)
      parameters:
        - name: keywords
          in: query
          description: Search keywords.
          required: false
          example: ''
          schema:
            type: string
        - name: geo_code
          in: query
          description: 'LinkedIn geo code,92000000 = worldwide,default: 92000000'
          required: false
          schema:
            type: integer
            default: 92000000
        - name: sort_by
          in: query
          description: Most relevant / Most recent
          required: false
          schema:
            type: string
        - name: date_posted
          in: query
          description: Any time / Past month / Past week / Past 24 hours
          required: false
          schema:
            type: string
        - name: ' experience_levels'
          in: query
          description: >-
            Internship / Entry level / Associate / Mid-Senior level / Director /
            Executive
          required: false
          schema:
            type: string
        - name: company_ids
          in: query
          description: Company ids, repeatable
          required: false
          schema:
            type: string
        - name: title_ids
          in: query
          description: Title ids, repeatable
          required: false
          schema:
            type: string
        - name: onsite_remotes
          in: query
          description: On-site / Remote / Hybrid
          required: false
          schema:
            type: string
        - name: functions
          in: query
          description: Functions, repeatable
          required: false
          schema:
            type: string
        - name: industries
          in: query
          description: Industries, repeatable
          required: false
          schema:
            type: string
        - name: job_types
          in: query
          description: >-
            Full-time / Part-time / Contract / Temporary / Internship /
            Volunteer
          required: false
          schema:
            type: string
        - name: easy_apply
          in: query
          description: Easy-apply jobs only
          required: false
          schema:
            type: boolean
            default: false
        - name: under_10_applicants
          in: query
          description: Under 10 applicants only
          required: false
          schema:
            type: boolean
            default: false
        - name: start
          in: query
          description: Pagination offset
          required: false
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
              example:
                code: 0
                message: success
                data:
                  data:
                    - company: micro1
                      company_linkedin_url: https://www.linkedin.com/company/micro1
                      company_logo: >-
                        https://media.licdn.com/dms/image/v2/D560BAQFSp7eWinmffw/company-logo_100_100/B56Zk8u8FtHcAQ-/0/1757660562030/micro1_logo?e=1789603200&v=beta&t=vfJgdmVrlsRD_0d6bvimOOoo9WZozURxs9y1urnKNP4
                      job_title: Data Scientist
                      job_url: https://www.linkedin.com/jobs/view/4458177247
                      job_urn: '4458177247'
                      location: APAC
                      posted_time: '2026-08-24 06:09:50'
                      remote: Remote
                      salary: ''
                    - company: Sarona Asset Management
                      company_linkedin_url: https://www.linkedin.com/company/sarona-asset-management
                      company_logo: >-
                        https://media.licdn.com/dms/image/v2/D560BAQFxclr8BxdIPQ/company-logo_100_100/B56Z2H0CDtHgAQ-/0/1776100058323/sarona_asset_management_logo?e=1789603200&v=beta&t=_mvm9kwYIaNLTZT36KA0_47Ui86Hx6LXsRGb0JVvuZA
                      job_title: Impact Associate
                      job_url: https://www.linkedin.com/jobs/view/4445963450
                      job_urn: '4445963450'
                      location: Vietnam
                      posted_time: '2026-07-27 15:08:52'
                      remote: Remote
                      salary: ''
                    - company: Crossian
                      company_linkedin_url: https://www.linkedin.com/company/crossian
                      company_logo: >-
                        https://media.licdn.com/dms/image/v2/D560BAQEZitkciXo7RQ/company-logo_200_200/company-logo_200_200/0/1700105744046/crossian_logo?e=1789603200&v=beta&t=5ftGl5GvWe5HFHb4r02nJ-7WXCLmIB-bNRrNPdNWrKI
                      job_title: '(Hanoi) Intermediate/Senior Data Analyst '
                      job_url: https://www.linkedin.com/jobs/view/4455844496
                      job_urn: '4455844496'
                      location: Hanoi Capital Region
                      posted_time: '2026-08-24 08:15:31'
                      remote: On-site
                      salary: ''
                    - company: Astek Vietnam
                      company_linkedin_url: https://www.linkedin.com/company/astek-vietnam
                      company_logo: >-
                        https://media.licdn.com/dms/image/v2/D560BAQE_MNUiadaN_Q/company-logo_200_200/company-logo_200_200/0/1685084019433?e=1789603200&v=beta&t=8ncv3yxsFV1VbtuX-k04RLUc895S0eiLdnaz_Z85Q3k
                      job_title: Data Analyst
                      job_url: https://www.linkedin.com/jobs/view/4422268092
                      job_urn: '4422268092'
                      location: Hanoi, Hanoi, Vietnam
                      posted_time: '2026-08-06 10:33:53'
                      remote: On-site
                      salary: ''
                    - company: Turing
                      company_linkedin_url: https://www.linkedin.com/company/turingcom
                      company_logo: >-
                        https://media.licdn.com/dms/image/v2/D4D0BAQEMzTP7ySRl1w/company-logo_100_100/B4DZraOH1PGgAQ-/0/1764597727124?e=1789603200&v=beta&t=C0jkdi3YBoQ2_gqFUDEykgoRwfJUbHGbesJxsa7-1S8
                      job_title: LLM Annotator - Vietnamese
                      job_url: https://www.linkedin.com/jobs/view/4457467487
                      job_urn: '4457467487'
                      location: Vietnam
                      posted_time: '2026-08-25 12:19:44'
                      remote: Remote
                      salary: ''
                    - company: Techcombank (TCB)
                      company_linkedin_url: https://www.linkedin.com/company/techcombank
                      company_logo: >-
                        https://media.licdn.com/dms/image/v2/C560BAQGxZkC9HU-9EQ/company-logo_200_200/company-logo_200_200/0/1630641591686/techcombank_logo?e=1789603200&v=beta&t=xL68efg29_oJuVNZlAMrq9qp0D5YwoWlwOGvoiGSu-E
                      job_title: Senior Data Scientist
                      job_url: https://www.linkedin.com/jobs/view/4436530007
                      job_urn: '4436530007'
                      location: Hanoi Capital Region
                      posted_time: '2026-07-17 05:19:07'
                      remote: On-site
                      salary: ''
                    - company: YO IT Consulting
                      company_linkedin_url: https://www.linkedin.com/company/yohritconsulting
                      company_logo: >-
                        https://media.licdn.com/dms/image/v2/D4D0BAQGgyLGyTK9l7Q/company-logo_100_100/B4DZre8Hq3G4AQ-/0/1764676893975/yohritconsulting_logo?e=1789603200&v=beta&t=ZuB6MHZOjL6fh80gGaDO0TI8sTKE-PpurQZ8qanoh08
                      job_title: Document Reviewer - Remote
                      job_url: https://www.linkedin.com/jobs/view/4459090832
                      job_urn: '4459090832'
                      location: Saudi Arabia
                      posted_time: '2026-08-26 01:44:36'
                      remote: Remote
                      salary: ''
                    - company: VPBank
                      company_linkedin_url: https://www.linkedin.com/company/vpbank
                      company_logo: >-
                        https://media.licdn.com/dms/image/v2/D560BAQE7SfgGlU3ohg/company-logo_200_200/company-logo_200_200/0/1708486809864/vpbank_logo?e=1789603200&v=beta&t=1tDRxfTk4SJywrneyM319wTh2pmOJZzWIQB_eK0XDt4
                      job_title: Data Business Analyst
                      job_url: https://www.linkedin.com/jobs/view/4456872265
                      job_urn: '4456872265'
                      location: Hanoi Capital Region
                      posted_time: '2026-08-24 09:38:03'
                      remote: On-site
                      salary: ''
                    - company: Shopee
                      company_linkedin_url: https://www.linkedin.com/company/shopee
                      company_logo: >-
                        https://media.licdn.com/dms/image/v2/C560BAQE0iX_dgdH7nA/company-logo_200_200/company-logo_200_200/0/1672279162763/shopee_logo?e=1789603200&v=beta&t=cv2gz1UABYEf0sm-vO9K4jeMadGxby8gdUWI-eG_tso
                      job_title: Business Intelligence Analyst (Fraud) - Shopee
                      job_url: https://www.linkedin.com/jobs/view/4436200619
                      job_urn: '4436200619'
                      location: Ho Chi Minh City, Ho Chi Minh City, Vietnam
                      posted_time: '2026-08-12 13:24:04'
                      remote: On-site
                      salary: ''
                    - company: NAB Innovation Centre Vietnam
                      company_linkedin_url: https://www.linkedin.com/company/nabvietnam
                      company_logo: >-
                        https://media.licdn.com/dms/image/v2/C560BAQE3i2Nzcaodmw/company-logo_200_200/company-logo_200_200/0/1652687824764/nabvietnam_logo?e=1789603200&v=beta&t=W0i_XkGjj5ALvzv_DSV5k8_CWt6wQ8omHXdCRpEeFQo
                      job_title: Senior Data Analyst
                      job_url: https://www.linkedin.com/jobs/view/4456186416
                      job_urn: '4456186416'
                      location: Ho Chi Minh City, Vietnam
                      posted_time: '2026-08-19 08:56:28'
                      remote: Hybrid
                      salary: ''
                  total: 39883
                requestId: da567eb8-2e2f-44b7-964e-65f6763264df
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '402':
          $ref: '#/components/responses/402'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      deprecated: false
      security:
        - JWT Bearer: []
      x-codeSamples:
        - lang: curl
          label: cURL
          source: |-
            curl --request GET \
              --url 'https://api.keyapi.ai/api/v1/linkedin/web_v2/search_jobs?keywords=software%20engineer&geo_code=92000000&sort_by=Most%20relevant&date_posted=Past%20week&onsite_remotes=Remote&job_types=Full-time&easy_apply=false&under_10_applicants=false&start=0' \
              --header 'Authorization: Bearer <YOUR_API_KEY>'
        - lang: python
          label: Python
          source: |-
            import requests

            response = requests.get(
                'https://api.keyapi.ai/api/v1/linkedin/web_v2/search_jobs',
                params={"keywords":"software engineer","geo_code":92000000,"sort_by":"Most relevant","date_posted":"Past week","onsite_remotes":"Remote","job_types":"Full-time","easy_apply":false,"under_10_applicants":false,"start":0},
                headers={'Authorization': 'Bearer <YOUR_API_KEY>'}
            )
            print(response.json())
        - lang: javascript
          label: JavaScript
          source: >-
            const params = new URLSearchParams({"keywords":"software
            engineer","geo_code":92000000,"sort_by":"Most
            relevant","date_posted":"Past
            week","onsite_remotes":"Remote","job_types":"Full-time","easy_apply":false,"under_10_applicants":false,"start":0});


            const response = await
            fetch(`https://api.keyapi.ai/api/v1/linkedin/web_v2/search_jobs?${params}`,
            {
              method: 'GET',
              headers: { 'Authorization': 'Bearer <YOUR_API_KEY>' }
            });

            const data = await response.json();

            console.log(data);
components:
  responses:
    '400':
      description: Bad Request
      content:
        application/json:
          schema:
            type: object
            properties: {}
          example:
            code: 400
            message: Bad Request
            data: {}
            requestId: 2c59c78f-a0fc-4adc-8201-d801a05b8412
    '401':
      description: Unauthorized
      content:
        application/json:
          schema:
            type: object
            properties: {}
          example:
            code: 401
            message: Unauthorized
            data: {}
            requestId: 2c59c78f-a0fc-4adc-8201-d801a05b8412
    '402':
      description: Payment Required
      content:
        application/json:
          schema:
            type: object
            properties: {}
          example:
            code: 402
            message: Insufficient credits
            data: {}
            requestId: 2c59c78f-a0fc-4adc-8201-d801a05b8412
    '429':
      description: Too Many Requests
      content:
        application/json:
          schema:
            type: object
            properties: {}
          example:
            code: 429
            message: Too Many Requests
            data: {}
            requestId: 2c59c78f-a0fc-4adc-8201-d801a05b8412
    '500':
      description: Internal Server Error
      content:
        application/json:
          schema:
            type: object
            properties: {}
          example:
            code: 500
            message: Internal Server Error
            data: {}
            requestId: 2c59c78f-a0fc-4adc-8201-d801a05b8412
  securitySchemes:
    JWT Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: |-
        API key for authentication. Format: `sk_live_xxxxxxxxxxxxx`
        Get your API key from the [Dashboard](http://keyapi.ai/app/dashboard).

````