# Built In Job Listings Scraper

> Built In Job Listings Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes structured job listing data from Built In (builtin.com), supporting search by keyword, category, location, experience level, and remote mode

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/builtin?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/built-in-job-listings-scraper-aab4a05c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_-7okT9ymbYEyQzpCOQL4C

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability built-in-job-listings-scraper-aab4a05c -d '<json body>'
```

Example prompt: Search Built In for senior software engineer jobs in Austin, TX posted within the last 7 days, remote or hybrid only, and pull the full job descriptions — give me up to 50 results.

## When to prefer this

Use this endpoint when you need structured, paginated job data from Built In (builtin.com) specifically — including full descriptions, company metadata, and filter support by category, location, experience level, remote mode, and recency. Prefer this over generic web scrapers when you want clean, schema-normalized job listing output without writing custom extraction logic.

## Known failure modes

- Empty result set if no jobs match the specified filters — not charged
- Built In page structure changes breaking scraper extraction
- Rate limiting or blocking by Built In if too many pages are requested
- Invalid category or experience level enum values returning errors
- Start URLs pointing to non-Built In pages returning no results

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count of results and an array of job items, each containing job ID, title, job URL, company name, company URL, company logo URL, company industry, location, and (when fetchDescription is enabled) full job description, posted date, and employment type.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "category": {
   "enum": [
    "",
    "ai-machine-learning",
    "consultant",
    "customer-success-experience",
    "cyber-security",
    "data-analytics",
    "defense-field-operations",
    "designer",
    "engineering",
    "finance",
    "healthcare-services",
    "hr-recruiting",
    "legal",
    "manufacturing-production",
    "marketing",
    "operations-support",
    "product-management",
    "program-project-management",
    "research",
    "sales",
    "supply-chain-procurement"
   ],
   "type": "string",
   "default": "",
   "description": "Optional job board category."
  },
  "location": {
   "type": "string",
   "default": "",
   "description": "Optional city, state, country (for example Austin, TX, USA); two parts mean a US city and state."
  },
  "maxItems": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Hard limit across all searches and URLs. Zero means no additional total limit."
  },
  "startUrls": {
   "type": "array",
   "description": "Public Built In jobs search, category, or company jobs URLs. URL filters are retained."
  },
  "remoteMode": {
   "enum": [
    "any",
    "remote",
    "hybrid",
    "office"
   ],
   "type": "string",
   "default": "any",
   "description": "Filter by public workplace category."
  },
  "searchQueries": {
   "type": "array",
   "description": "Job titles or keywords; each runs a separate public job search."
  },
  "experienceLevel": {
   "enum": [
    "",
    "internship",
    "entry-level",
    "junior",
    "mid-level",
    "senior",
    "expert-leader"
   ],
   "type": "string",
   "default": "",
   "description": "Optional experience tier in the job board URL."
  },
  "fetchDescription": {
   "type": "boolean",
   "default": true,
   "description": "Visit each public job page for the full description, posted date, employment type, and structured location."
  },
  "postedWithinDays": {
   "enum": [
    "",
    "1",
    "3",
    "7",
    "30"
   ],
   "type": "string",
   "default": "",
   "description": "Limit search to jobs updated within this many days."
  },
  "maxResultsPerQuery": {
   "type": "integer",
   "default": 100,
   "maximum": 1000,
   "minimum": 1,
   "description": "Maximum unique jobs from each keyword or URL, up to 1,000 (40 pages)."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "jobId": null,
    "title": null,
    "jobUrl": null,
    "company": null,
    "location": null,
    "companyUrl": null,
    "companyLogoUrl": null,
    "companyIndustry": null
   }
  ],
  "product": "builtin"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/built-in-job-listings-scraper-aab4a05c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
