> **For AI agents:** this page is a focused, LLM-optimized view of a
> single Fiber AI operation. Before calling it, fetch the routing
> instructions at [`https://api.fiber.ai/llms.txt`](https://api.fiber.ai/llms.txt) and the full operation
> index at [`https://api.fiber.ai/ai-docs/index.md`](https://api.fiber.ai/ai-docs/index.md).

# blueCollarJobsSearch

`POST /v1/blue-collar-jobs/search`

**Tags:** `Blue collar jobs`

Search blue collar job listings

**Endpoint:** `https://api.fiber.ai/v1/blue-collar-jobs/search`

## Description

Search blue collar and trade job postings. Ideal for finding service, manufacturing, trades, and other non-desk positions. Currently US-only. Supports search by company, job title/keyword, and location. Supports pagination via nextPageToken.

⚡ Rate limit: 300 requests per 1 minute

💰 Cost: 2 credits per search ⓘ

⏱ Recommended timeout: 1 minute ⓘ

## Request body (JSON Schema)

```json
{
  "type": "object",
  "properties": {
    "apiKey": {
      "type": "string",
      "description": "Your Fiber API key"
    },
    "companySlug": {
      "type": [
        "string",
        "null"
      ],
      "minLength": 1,
      "description": "Company identifier on the job board. Use the resolve-company endpoint to find this from a domain or name."
    },
    "query": {
      "type": [
        "string",
        "null"
      ],
      "minLength": 1,
      "description": "Job title or keyword to search for (e.g. 'warehouse worker', 'forklift operator')."
    },
    "location": {
      "type": [
        "string",
        "null"
      ],
      "minLength": 1,
      "description": "US city, state, or region to search within (e.g. 'Philadelphia, PA', 'Texas'). Only US locations are supported."
    },
    "nextPageToken": {
      "type": [
        "string",
        "null"
      ],
      "description": "Pagination token returned from a previous search. Pass to get the next page of results."
    }
  },
  "required": [
    "apiKey"
  ]
}
```

## Response — success (JSON Schema)

```json
{
  "type": "object",
  "properties": {
    "output": {
      "type": "object",
      "properties": {
        "jobs": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Unique job listing identifier."
              },
              "title": {
                "type": "string",
                "description": "Job title."
              },
              "companyName": {
                "type": "string",
                "description": "Name of the company that posted the job listing."
              },
              "location": {
                "type": "string",
                "description": "Job location (city, state, or region)."
              },
              "url": {
                "type": "string",
                "description": "Direct URL to the full job listing."
              },
              "description": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Brief description or snippet of the job posting."
              },
              "salary": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "Human-readable salary string as shown on the listing (e.g. '$18 - $22 an hour', 'From $45,000 a year')."
                  },
                  "local": {
                    "type": [
                      "object",
                      "null"
                    ],
                    "properties": {
                      "currency": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "ISO 4217 currency code (e.g. 'USD', 'CAD')."
                      },
                      "min": {
                        "type": [
                          "number",
                          "null"
                        ],
                        "description": "Lower bound of compensation range."
                      },
                      "max": {
                        "type": [
                          "number",
                          "null"
                        ],
                        "description": "Upper bound of compensation range."
                      }
                    },
                    "description": "Parsed compensation in the listed currency. Null when the salary text uses an unrecognized format that could not be parsed into structured numbers."
                  },
                  "usd": {
                    "type": [
                      "object",
                      "null"
                    ],
                    "properties": {
                      "min": {
                        "type": [
                          "number",
                          "null"
                        ],
                        "description": "Lower bound of compensation range in USD."
                      },
                      "max": {
                        "type": [
                          "number",
                          "null"
                        ],
                        "description": "Upper bound of compensation range in USD."
                      }
                    },
                    "description": "Compensation in USD. Null when the listing currency is not USD or could not be determined."
                  },
                  "period": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "enum": [
                      "hourly",
                      "daily",
                      "monthly",
                      "yearly",
                      null
                    ],
                    "description": "Pay period. Null when the listing does not specify a recognizable pay frequency."
                  }
                },
                "required": [
                  "text"
                ],
                "description": "Compensation information. Covers various forms of pay (hourly, daily, monthly, yearly). Null when not listed."
              },
              "estimatedPostedAt": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Estimated date the job was posted in ISO 8601 format. Derived from approximate relative time."
              }
            },
            "required": [
              "id",
              "title",
              "companyName",
              "location",
              "url"
            ]
          },
          "description": "List of job listings matching the search."
        },
        "estimatedJobCount": {
          "type": [
            "number",
            "null"
          ],
          "description": "Estimated total number of matching jobs across all pages."
        },
        "nextPageToken": {
          "type": [
            "string",
            "null"
          ],
          "description": "Pagination token. Pass in the next request to get more results. Null when no more pages are available."
        }
      },
      "required": [
        "jobs"
      ]
    },
    "chargeInfo": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "enum": [
                "charged-now"
              ]
            },
            "creditsCharged": {
              "type": "number"
            },
            "lowCreditAlert": {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "getMoreCreditsUrl": {
                  "type": "string",
                  "format": "uri",
                  "description": "URL to top up credits or restart billing cycle to get fresh credits."
                },
                "message": {
                  "type": "string",
                  "description": "Human-readable credits warning."
                },
                "availableCredits": {
                  "type": "number",
                  "description": "Number of credits remaining in the current billing period."
                }
              },
              "required": [
                "getMoreCreditsUrl",
                "message",
                "availableCredits"
              ],
              "description": "Contains a link to get more credits, a warning message, and the remaining credit count."
            }
          },
          "required": [
            "method",
            "creditsCharged"
          ],
          "description": "Credits were charged immediately for this operation"
        },
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "enum": [
                "charging-later"
              ]
            },
            "message": {
              "type": "string"
            },
            "lowCreditAlert": {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "getMoreCreditsUrl": {
                  "type": "string",
                  "format": "uri",
                  "description": "URL to top up credits or restart billing cycle to get fresh credits."
                },
                "message": {
                  "type": "string",
                  "description": "Human-readable credits warning."
                },
                "availableCredits": {
                  "type": "number",
                  "description": "Number of credits remaining in the current billing period."
                }
              },
              "required": [
                "getMoreCreditsUrl",
                "message",
                "availableCredits"
              ],
              "description": "Contains a link to get more credits, a warning message, and the remaining credit count."
            }
          },
          "required": [
            "method",
            "message"
          ],
          "description": "Credits will be charged after the operation completes"
        },
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "enum": [
                "charged-for-async-process"
              ]
            },
            "creditsCharged": {
              "type": "number"
            },
            "message": {
              "type": "string"
            },
            "lowCreditAlert": {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "getMoreCreditsUrl": {
                  "type": "string",
                  "format": "uri",
                  "description": "URL to top up credits or restart billing cycle to get fresh credits."
                },
                "message": {
                  "type": "string",
                  "description": "Human-readable credits warning."
                },
                "availableCredits": {
                  "type": "number",
                  "description": "Number of credits remaining in the current billing period."
                }
              },
              "required": [
                "getMoreCreditsUrl",
                "message",
                "availableCredits"
              ],
              "description": "Contains a link to get more credits, a warning message, and the remaining credit count."
            }
          },
          "required": [
            "method",
            "creditsCharged",
            "message"
          ],
          "description": "Credits that were charged for an asynchronous operation"
        },
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "enum": [
                "free"
              ]
            },
            "message": {
              "type": "string"
            },
            "lowCreditAlert": {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "getMoreCreditsUrl": {
                  "type": "string",
                  "format": "uri",
                  "description": "URL to top up credits or restart billing cycle to get fresh credits."
                },
                "message": {
                  "type": "string",
                  "description": "Human-readable credits warning."
                },
                "availableCredits": {
                  "type": "number",
                  "description": "Number of credits remaining in the current billing period."
                }
              },
              "required": [
                "getMoreCreditsUrl",
                "message",
                "availableCredits"
              ],
              "description": "Contains a link to get more credits, a warning message, and the remaining credit count."
            }
          },
          "required": [
            "method",
            "message"
          ],
          "description": "No credits were charged for this operation"
        },
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "enum": [
                "credits-refunded"
              ]
            },
            "creditsRefunded": {
              "type": "number"
            },
            "message": {
              "type": "string"
            },
            "lowCreditAlert": {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "getMoreCreditsUrl": {
                  "type": "string",
                  "format": "uri",
                  "description": "URL to top up credits or restart billing cycle to get fresh credits."
                },
                "message": {
                  "type": "string",
                  "description": "Human-readable credits warning."
                },
                "availableCredits": {
                  "type": "number",
                  "description": "Number of credits remaining in the current billing period."
                }
              },
              "required": [
                "getMoreCreditsUrl",
                "message",
                "availableCredits"
              ],
              "description": "Contains a link to get more credits, a warning message, and the remaining credit count."
            }
          },
          "required": [
            "method",
            "creditsRefunded",
            "message"
          ],
          "description": "Credits were refunded for this operation"
        }
      ]
    },
    "warnings": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "description": "Full path to extraneous field (e.g., 'searchParams.ExtraField')"
          },
          "message": {
            "type": "string",
            "description": "Warning message"
          }
        },
        "required": [
          "field",
          "message"
        ]
      },
      "description": "Warnings about extraneous fields in request"
    },
    "advice": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string"
      },
      "description": "Tips, recommendations, and suggestions for using this API effectively."
    }
  },
  "required": [
    "output",
    "chargeInfo"
  ],
  "additionalProperties": false
}
```

---

Canonical JSON: [`https://api.fiber.ai/openapi.json`](https://api.fiber.ai/openapi.json)
Operation index: [`https://api.fiber.ai/ai-docs/index.md`](https://api.fiber.ai/ai-docs/index.md)
