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

# Cutshort API Quickstart – First API Call in 5 Minutes

> Create your Cutshort account, generate an API key, and search 4M+ Indian tech candidates with your first REST API call in under 5 minutes.

This guide walks you through generating your first API key and making your first call to the Cutshort API. By the end, you will have searched for candidates by skill and received a JSON response with matching engineer profiles.

<Steps>
  <Step title="Create your Cutshort account">
    Sign up at [cutshort.io](https://cutshort.io). Once logged in, navigate to **Settings → Integrations → API Keys** to access your developer credentials.
  </Step>

  <Step title="Generate an API key">
    Click **New API Key**, give it a descriptive name (for example, `My Integration`), and copy the key immediately. Store it in a secure location such as a password manager or secrets vault — it will not be shown again.

    <Warning>
      Keep your API key secret. Never commit it to source control or expose it in client-side code. Treat it with the same care as a password.
    </Warning>
  </Step>

  <Step title="Make your first API call">
    Call the candidates search endpoint to find Python engineers with at least 3 years of experience. Replace `YOUR_API_KEY` with the key you generated above.

    <CodeGroup>
      ```bash curl theme={null}
      curl -X GET 'https://api.cutshort.io/v1/candidates/search?skills=python&experience_min=3' \
        -H 'Authorization: Bearer YOUR_API_KEY' \
        -H 'Content-Type: application/json'
      ```

      ```python Python theme={null}
      import requests

      api_key = "YOUR_API_KEY"
      base_url = "https://api.cutshort.io/v1"

      response = requests.get(
          f"{base_url}/candidates/search",
          params={"skills": "python", "experience_min": 3},
          headers={"Authorization": f"Bearer {api_key}"}
      )

      candidates = response.json()
      print(f"Found {candidates['total']} candidates")
      for c in candidates['data'][:3]:
          print(f"  - {c['name']} ({c['experience_years']} yrs, {c['location']})")
      ```
    </CodeGroup>
  </Step>

  <Step title="Review the response">
    A successful request returns a paginated JSON object containing matching candidate profiles:

    ```json theme={null}
    {
      "total": 1842,
      "page": 1,
      "per_page": 20,
      "data": [
        {
          "id": "cand_8f3kL9mN",
          "name": "Aravind Srinivas",
          "headline": "Senior Python Engineer",
          "location": "Bengaluru",
          "experience_years": 5,
          "skills": ["Python", "Django", "PostgreSQL", "AWS"],
          "current_company": "Flipkart",
          "profile_url": "https://cutshort.io/candidate/aravind-srinivas"
        }
      ]
    }
    ```
  </Step>
</Steps>

<Tip>
  Next, explore the full [Candidates Search API reference](/api-reference/candidates/search) to filter by location, salary range, notice period, and more.
</Tip>
