Growth.Talent

Python SDK

A typed Python client for the Growth.Talent API, auto-generated from the OpenAPI 3.1 spec. Async + sync variants on every endpoint, attrs-dataclass models, ships with httpx. Python 3.9+.

Install

terminal
pip install growthtalent
# or: uv add growthtalent
# or: poetry add growthtalent

Quickstart — public read

No API key needed for the public read endpoints (jobs, talent, companies).

quickstart.py
from growthtalent import Client
from growthtalent.api.default import get_jobs

with Client(base_url="https://www.growthtalent.org/api/v1") as client:
    response = get_jobs.sync_detailed(
        client=client,
        q="head of growth",
        market="usa",
        limit=5,
    )
    print(response.parsed)  # full response with data + pagination + meta

Authenticated — apply, post, profile

authenticated.py
from growthtalent import AuthenticatedClient
from growthtalent.api.default import get_me, post_applications
from growthtalent.models import PostApplicationsBody

with AuthenticatedClient(
    base_url="https://www.growthtalent.org/api/v1",
    token="gt_live_...",  # mint at /settings/api-keys
) as client:
    me = get_me.sync(client=client)
    print(f"Signed in as {me.candidate.name}")

    result = post_applications.sync(
        client=client,
        body=PostApplicationsBody(
            job_slug_or_id="head-of-growth-the-mobile-first-company",
            message="Hi — built growth at Spendesk #4 to unicorn.",
            via="magic",
        ),
    )
    print(result)

Async

Every endpoint also exposes .asyncio and .asyncio_detailed variants for non-blocking use.

async_example.py
import asyncio
from growthtalent import Client
from growthtalent.api.default import get_jobs

async def main():
    async with Client(base_url="https://www.growthtalent.org/api/v1") as client:
        jobs = await get_jobs.asyncio(client=client, q="growth", limit=5)
        print(jobs)

asyncio.run(main())

What you get

  • Every endpoint as a typed function (get_jobs, patch_me, post_applications, …) with sync + async variants
  • Full request/response models as attrs dataclasses (Candidate, JobShort, JobFull, …)
  • httpx under the hood — supports custom transports, retries, proxy, mTLS
  • Works in Python 3.9+ including PyPy
  • Strict type-checking via py.typed marker
Looking for the TypeScript version? See /docs/sdk. Same OpenAPI spec, regenerated for both languages — they stay in sync as the API evolves.

Regenerate from the latest spec

The client is auto-generated. To rebuild against the latest API:

uvx --from openapi-python-client openapi-python-client generate \
  --url https://www.growthtalent.org/api/v1/openapi.json \
  --output-path . \
  --overwrite