# countJobListings

**Identifier:** `crustdata_countJobListings`

**Provider:** [Crustdata](https://kirha.com/providers/crustdata.md)

Count job listings matching filters and break them down by category, hiring company, country, workplace type or title. Use it to measure hiring demand, e.g., which teams a company recruits most or which companies hire the most data engineers in France.

## Run it with the CLI

```bash
kirha tools run crustdata_countJobListings \
  --input '{
    "groupBy": "category"
  }'
```

`--input` takes a JSON object that matches the input schema. Pass `--input -` to read it from stdin.

## Call it over HTTP

```bash
curl https://api.kirha.com/tools/v1/execute \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: **********' \
  --data '{
  "tool_name": "crustdata_countJobListings",
  "input": {
    "groupBy": "category"
  }
}'
```

Replace the stars with an API key from https://app.kirha.com/api-keys.

## Input schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "category": {
      "description": "Job category, e.g., Engineering, Sales, Marketing, Finance",
      "minLength": 2,
      "type": "string"
    },
    "city": {
      "minLength": 2,
      "type": "string"
    },
    "company": {
      "description": "Hiring company website domain or name, e.g., mistral.ai",
      "minLength": 2,
      "type": "string"
    },
    "country": {
      "description": "Full country name of the job, e.g., France",
      "minLength": 4,
      "type": "string"
    },
    "groupBy": {
      "enum": [
        "category",
        "company",
        "country",
        "workplace",
        "title"
      ],
      "type": "string"
    },
    "maxCompanyHeadcount": {
      "maximum": 9007199254740991,
      "minimum": 1,
      "type": "integer"
    },
    "minCompanyHeadcount": {
      "maximum": 9007199254740991,
      "minimum": 1,
      "type": "integer"
    },
    "postedSince": {
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "type": "string"
    },
    "size": {
      "default": 15,
      "description": "Number of groups",
      "maximum": 50,
      "minimum": 1,
      "type": "integer"
    },
    "title": {
      "description": "Words of the job title, e.g., data engineer",
      "minLength": 2,
      "type": "string"
    },
    "workplace": {
      "enum": [
        "On-site",
        "Hybrid",
        "Remote"
      ],
      "type": "string"
    }
  },
  "required": [
    "groupBy"
  ],
  "type": "object"
}
```

## Output schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "context": {
      "type": "string"
    },
    "groupBy": {
      "type": "string"
    },
    "groups": {
      "items": {
        "additionalProperties": false,
        "properties": {
          "companyName": {
            "type": "string"
          },
          "listings": {
            "type": "number"
          },
          "sharePercent": {
            "type": "number"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "value",
          "listings",
          "sharePercent"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "total": {
      "type": "number"
    }
  },
  "required": [
    "context",
    "total",
    "groupBy",
    "groups"
  ],
  "type": "object"
}
```

-----

[All Crustdata tools](https://kirha.com/providers/crustdata.md) · [< Back to tools list](https://kirha.com/tools.md)