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

# Jobs API

> The Jobs API returns live job postings that match your filters, each enriched with the hiring company's full firmographics. Search by job title, location, industry, company size, funding, revenue, and more across CUFinder's data, and get back structured job and company records you can act on. Built for developers building sourcing tools, talent intelligence platforms, and hiring-signal workflows.

export const ReadMore = ({link, children, className = ""}) => {
  return <div className={`${className}`}>
      <h3>Read More</h3>
      <Button href={link} target="_blank" variant="outline" size="md" color="primary" className="mt-2">
        <Icon icon="code" size={24} className="!mint-bg-emerald-600 mr-2" />
        {children}
      </Button>
    </div>;
};

export const Button = ({variant = "fill", size = "md", color = "primary", href, target, children, className = "", style = {}}) => {
  const isLink = !!href;
  const variantClassname = {
    fill: "border-none mint-bg-[var(--color)] !mint-text-white hover:mint-bg-[var(--color-dark)]",
    outline: "border !mint-border-b border-solid mint-border-[var(--color)] !mint-text-[var(--color)] mint-bg-[var(--color-lightest)] hover:mint-bg-[var(--color-lighter)]",
    text: "border-none bg-transparent !mint-text-[var(--color)] hover:mint-bg-[var(--color-lighter)]"
  };
  const sizeClassname = {
    sm: "px-3 py-1 rounded-md text-sm",
    md: "px-6 py-2 rounded-lg text-base",
    lg: "px-8 py-2.5 rounded-xl text-lg"
  };
  const colors = {
    primary: "rgb(22 163 74)",
    info: "rgb(43 127 255)",
    warning: "rgb(254 154 0)",
    error: "rgb(251 44 54)"
  };
  const Comp = isLink ? "a" : "button";
  return <Comp href={isLink ? href : undefined} target={isLink ? target : undefined} className={`inline-block duration-150 transition-all font-medium ${variantClassname[variant]} ${sizeClassname[size]} ${className}`} style={{
    "--color": colors[color],
    "--color-lightest": `color-mix(in srgb, ${colors[color]}, white 90%)`,
    "--color-lighter": `color-mix(in srgb, ${colors[color]}, white 80%)`,
    "--color-light": `color-mix(in srgb, ${colors[color]}, white 10%)`,
    "--color-dark": `color-mix(in srgb, ${colors[color]}, black 10%)`,
    ...style
  }}>
      {children}
    </Comp>;
};

export const SDKsList = ({className = ""}) => {
  const sdks = [{
    href: "https://github.com/CUFinder/cufinder-ts",
    title: "Typescript",
    description: "The Official TypeScript SDK for CUFinder APIs",
    imgSrc: "/images/logos/typescript.svg"
  }, {
    href: "https://github.com/CUFinder/cufinder-py",
    title: "Python",
    description: "The Official Python SDK for CUFinder APIs",
    imgSrc: "/images/logos/python.svg"
  }, {
    href: "https://github.com/CUFinder/cufinder-go",
    title: "Go",
    description: "The Official Go SDK for CUFinder APIs",
    imgSrc: "/images/logos/go.svg"
  }, {
    href: "https://github.com/CUFinder/cufinder-rust",
    title: "Rust",
    description: "The Official Rust SDK for CUFinder APIs",
    imgSrc: "/images/logos/rust.svg",
    darkRevert: true
  }, {
    href: "https://github.com/CUFinder/cufinder-ruby",
    title: "Ruby",
    description: "The Official Ruby SDK for CUFinder APIs",
    imgSrc: "/images/logos/ruby.svg"
  }];
  return <div className={`divide-y divide-slate-200 divide-solid ${className}`}>
      <h2>CUFinder Official SDKs</h2>
      <ul className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-y-4">
        {sdks.map(sdk => <li key={sdk.title}>
            <a href={sdk.href} target="_blank" className="flex items-center gap-4">
              <img src={sdk.imgSrc} alt={sdk.title} noZoom width={100} height={100} className={`w-12 !my-0 ${sdk.darkRevert ? "dark:invert-100" : ""}`} />
              <div>
                <div>
                  <p className="text-sm text-gray-800 dark:text-gray-200">{sdk.title}</p>
                </div>
                <div>
                  <p className="text-xs text-gray-500 leading-[1.2rem]">
                    {sdk.description}
                  </p>
                </div>
              </div>
            </a>
          </li>)}
      </ul>
    </div>;
};

<div id="cuf-use-cases" className="cuf-use-cases">
  ## Common Use Cases

  Open job postings are one of the clearest signals that a company is growing and spending.

  * **Recruiting and Sourcing:** Tracking live openings for a role to find companies that are hiring.
  * **Hiring Signals:** Spotting companies in hiring mode as a buying signal for sales.
  * **Talent Market Research:** Mapping which companies are posting for a role across a region or industry.
  * **Competitive Intelligence:** Watching how peers and competitors staff up over time.
  * **List Building:** Generating targeted lists of hiring companies from combined filters.
</div>

<Badge color="blue" size="lg" icon="star" className="mt-3">
  Credit usage is 2 per search.
</Badge>

## Attributes

<ParamField body="name" type="string (contains, '%data scientist%')" required>
  Job title
</ParamField>

<ParamField body="country" type="string" required>
  Company country

  <div classname="mt-2">
    <Button target="_blank" href="https://docs.google.com/spreadsheets/d/160G0j0JBbS6-_ePRz6obTVhxvwzaUqtDB74tg7oC7O0/edit?usp=sharing" variant="fill" size="sm" color="info"> List of countries </Button>
  </div>
</ParamField>

<ParamField body="state" type="string">
  Company state

  <div classname="mt-2">
    <Button target="_blank" href="https://docs.google.com/spreadsheets/d/1eDiBALYHCIxgevIyDNLw2Msids4Yz3vM3rhNzjug6Sw/edit?usp=sharing" variant="fill" size="sm" color="info"> List of states </Button>
  </div>
</ParamField>

<ParamField body="city" type="string">
  Company city

  <div classname="mt-2">
    <Button target="_blank" href="https://docs.google.com/spreadsheets/d/1Tee4f7PmUoQEWYGAMxWimTw2rEOe0S9gGGPF49AgrfA/edit" variant="fill" size="sm" color="info"> List of cities </Button>
  </div>
</ParamField>

<ParamField body="industry" type="string">
  Company industry

  <div classname="mt-2">
    <Button target="_blank" href="https://docs.google.com/spreadsheets/d/15Qt_M68YLevS0Qfp3DSyRr9MfHP33ZnoMWBvumBbiB0/edit?usp=sharing" variant="fill" size="sm" color="info"> List of industries </Button>
  </div>
</ParamField>

<ParamField body="followers_count_min" type="integer">
  Company minimum followers count
</ParamField>

<ParamField body="followers_count_max" type="integer">
  Company maximum followers count
</ParamField>

<ParamField body="employee_size" type="string ('0-1', '1 employee', '2-10', '11-50', '51-200', '201-500', '501-1000', '501-1,000', '1,001-5,000', '5,001-10,000', '10,001+')">
  Company employee size range
</ParamField>

<ParamField body="founded_after_year" type="integer">
  Company founded after year
</ParamField>

<ParamField body="founded_before_year" type="integer">
  Company founded before year
</ParamField>

<ParamField body="funding_amount_min" type="integer">
  Company minimum funding amount
</ParamField>

<ParamField body="funding_amount_max" type="integer">
  Company maximum funding amount
</ParamField>

<ParamField body="products_services" type="array[string]">
  Company products and services
</ParamField>

<ParamField body="is_school" type="boolean">
  Whether the company is a school
</ParamField>

<ParamField body="annual_revenue_min" type="integer">
  Company minimum annual revenue (Million USD)
</ParamField>

<ParamField body="annual_revenue_max" type="integer">
  Company maximum annual revenue (Million USD)
</ParamField>

<ParamField body="page" type="integer">
  Page filter
</ParamField>

## Response

<CodeGroup>
  ```json Response theme={null}
  {
      "status": 1,
      "data": {
          "confidence_level": 95,
          "query": {
              "name": "nurse",
              "country": "united states",
              "page": 1
          },
          "jobs": [
              {
                  "company": {
                      "name": "american nurses association",
                      "industry": "non-profit organizations",
                      "website": "http://www.nursingworld.org",
                      "linkedin": "linkedin.com/company/american-nurses-association",
                      "followers_count": 629435,
                      "employees": {
                          "range": "201-500"
                      },
                      "founded_date": null,
                      "annual_revenue": "$25-100M",
                      "funding_amount": null,
                      "main_location": {
                          "country": "united states",
                          "state": "maryland",
                          "city": "silver spring"
                      }
                  },
                  "job": {
                      "job_id": "4423281403",
                      "title": "Research & Quality Operations Administrator",
                      "url": "https://www.linkedin.com/jobs/view/research-quality-operations-administrator-at-american-nurses-association-4423281403",
                      "location": "Silver Spring, MD",
                      "posted_at": "2026-06-24T03:10:03+00:00",
                      "posted_at_text": "4 days ago"
                  }
              }
          ],
          "credit_count": 9990
      }
  }
  ```
</CodeGroup>

<SDKsList className="mt-20" />

<div className="mt-20">
  ## Jobs API Typescript SDK

  <CodeGroup>
    ```typescript Request theme={null}
    import { Cufinder } from '@cufinder/cufinder-ts';

    // Initialize the client
    const client = new Cufinder('your-api-key-here');

    // Initialize with more options
    const client = new Cufinder('your-api-key-here', { timeout: 60000 });

    const result = await client.cja({
        name: 'nurse',
        country: 'united states'
    });
    console.log(result);
    ```
  </CodeGroup>
</div>

<div className="mt-12">
  ## Jobs API Python SDK

  <CodeGroup>
    ```python Request theme={null}
    from cufinder import Cufinder

    # Initialize the client
    client = Cufinder('your-api-key-here')

    # Initialize with more options
    client = Cufinder('your-api-key-here', timeout=60)

    result = client.cja(
        name='nurse',
        country='united states'
    )
    print(result)
    ```
  </CodeGroup>
</div>

<div className="mt-12">
  ## Jobs API Go SDK

  <CodeGroup>
    ```go Request theme={null}
    package main

    import (
        "fmt"
        "log"

        "github.com/cufinder/cufinder-go"
    )

    func main() {
        // Initialize the client
        sdk := cufinder.NewSDK("your-api-key-here")

        // Initialize with more options
        sdk := cufinder.NewSDKWithConfig(cufinder.ClientConfig{
            APIKey:     "your-api-key-here",
            BaseURL:    "https://api.cufinder.io/v2",
            Timeout:    60 * time.Second,
            MaxRetries: 3,
        })
    }

    result, err := sdk.CJA(cufinder.CjaParams{
        Name:    "nurse",
        Country: "united states",
    })
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(result)
    ```
  </CodeGroup>
</div>

<div className="mt-12">
  ## Jobs API Ruby SDK

  <CodeGroup>
    ```ruby Request theme={null}
    require 'cufinder_ruby'

    # Initialize the client
    client = Cufinder::Client.new(api_key: 'your-api-key-here')

    # Initialize with more options
    client = Cufinder::Client.new(
        api_key: 'your-api-key-here',
        timeout: 60,
        max_retries: 3
    )

    result = client.cja(
        name: 'nurse',
        country: 'united states'
    )
    puts result
    ```
  </CodeGroup>
</div>

<div className="mt-12">
  ## Jobs API Rust SDK

  <CodeGroup>
    ```rust Request theme={null}
    use cufinder_rust::CufinderSDK;

    #[tokio::main]
    async fn main() -> Result<(), Box<dyn std::error::Error>> {
        // Initialize the client
        let sdk = CufinderSDK::new("your-api-key-here".to_string())?;

        // Initialize with more options
        let sdk = CufinderSDK::with_config(ClientConfig {
            api_key: "your-api-key-here".to_string(),
            base_url: "https://api.cufinder.io/v2".to_string(),
            timeout: Duration::from_secs(60),
            max_retries: 3,
        })?;

        Ok(())
    }

    use cufinder_rust::CjaParams;

    let result = sdk.cja(CjaParams {
        name: Some("nurse".to_string()),
        country: Some("united states".to_string()),
        ..Default::default()
    }).await?;
    println!("{:?}", result);
    ```
  </CodeGroup>
</div>

## Related APIs

<CardGroup cols={2}>
  <Card title="Company Search" icon="search" href="/apis/company-search">
    Search companies with multiple filters.
  </Card>

  <Card title="Company Career Page Finder" icon="briefcase" href="/apis/company-career-page-finder">
    Locate a company's careers page.
  </Card>

  <Card title="Company Employee Finder" icon="users-group" href="/apis/company-employee-finder">
    Find employees working at a company.
  </Card>

  <Card title="Person Search" icon="search" href="/apis/person-search">
    Search 1B+ profiles with combined filters.
  </Card>
</CardGroup>
