{"openapi":"3.1.0","info":{"title":"Employbl API","version":"1.0.0","description":"Read-only market data: companies, jobs, and funding rounds. Requires an Employbl Premium access token (Bearer). Rate limits: 60/min, 5,000/day per token, shared with the Employbl MCP server. Docs: https://www.employbl.com/docs"},"servers":[{"url":"https://www.employbl.com/api/v1"}],"paths":{"/companies":{"get":{"operationId":"companies_search","summary":"Search 30,000+ American tech companies. Same index as the find_companies MCP tool.","parameters":[{"name":"query","in":"query","required":false,"description":"Free-text company name search.","schema":{"type":"string","description":"Free-text company name search."}},{"name":"city","in":"query","required":false,"description":"HQ city, exact match (case-insensitive).","schema":{"type":"string","description":"HQ city, exact match (case-insensitive)."}},{"name":"state","in":"query","required":false,"description":"Two-letter state code, e.g. CA.","schema":{"type":"string","description":"Two-letter state code, e.g. CA."}},{"name":"zip","in":"query","required":false,"description":"Five-digit US zips, e.g. 94133,94111. Matches a company with an office in any of them — satellite offices count, not just the HQ.","schema":{"type":"string","description":"Five-digit US zips, e.g. 94133,94111. Matches a company with an office in any of them — satellite offices count, not just the HQ. Comma-separated list."}},{"name":"near","in":"query","required":false,"description":"Free-text US location (street address, City, ST, or a zip). Geocoded server-side, then matched by distance against every office. Combines with all other filters.","schema":{"type":"string","description":"Free-text US location (street address, City, ST, or a zip). Geocoded server-side, then matched by distance against every office. Combines with all other filters."}},{"name":"radius_miles","in":"query","required":false,"description":"Search radius for near, 1-100. Defaults to 10. Ignored without near.","schema":{"type":"integer","description":"Search radius for near, 1-100. Defaults to 10. Ignored without near."}},{"name":"hiring","in":"query","required":false,"description":"true = only companies whose job listings Employbl has synced. Filters on Employbl's coverage, not on whether a company is hiring — Employbl tracks an ATS for roughly 9% of companies.","schema":{"type":"boolean","description":"true = only companies whose job listings Employbl has synced. Filters on Employbl's coverage, not on whether a company is hiring — Employbl tracks an ATS for roughly 9% of companies."}},{"name":"latest_round","in":"query","required":false,"description":"Funding stages, e.g. Series A,Series B.","schema":{"type":"string","description":"Funding stages, e.g. Series A,Series B. Comma-separated list."}},{"name":"sector","in":"query","required":false,"description":"Curated sector/subsector names (see employbl.com/industries).","schema":{"type":"string","description":"Curated sector/subsector names (see employbl.com/industries). Comma-separated list."}},{"name":"tech_stack","in":"query","required":false,"description":"Technologies, matched against company-reported and job-derived stacks.","schema":{"type":"string","description":"Technologies, matched against company-reported and job-derived stacks. Comma-separated list."}},{"name":"investors","in":"query","required":false,"description":"Investor names.","schema":{"type":"string","description":"Investor names. Comma-separated list."}},{"name":"min_employees","in":"query","required":false,"description":"Company size bounds.","schema":{"type":"integer","description":"Company size bounds."}},{"name":"max_employees","in":"query","required":false,"description":"Company size bounds.","schema":{"type":"integer","description":"Company size bounds."}},{"name":"sort","in":"query","required":false,"description":"relevance (default), most_hiring, or recent_funding.","schema":{"type":"string","description":"relevance (default), most_hiring, or recent_funding."}},{"name":"limit","in":"query","required":false,"description":"Results per page, 1-50. Default 20.","schema":{"type":"integer","description":"Results per page, 1-50. Default 20."}},{"name":"page","in":"query","required":false,"description":"Page number, starting at 1.","schema":{"type":"integer","description":"Page number, starting at 1."}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"400":{"description":"VALIDATION_ERROR — A query or path parameter failed validation; message says which.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"UNAUTHORIZED — Missing or invalid Bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"PREMIUM_REQUIRED — Token's account has no active Premium subscription or company seat.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"NOT_FOUND — No entity with that slug/id.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"RATE_LIMITED — Token exceeded 60/min or 5,000/day. Retry-After header included.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"INTERNAL — Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{slug}":{"get":{"operationId":"companies_get","summary":"Full company profile: description, address, size, funding history, social links, and (when published) premium fields under premium_profile.","parameters":[{"name":"slug","in":"path","required":true,"description":"Company slug, e.g. anthropic.","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"400":{"description":"VALIDATION_ERROR — A query or path parameter failed validation; message says which.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"UNAUTHORIZED — Missing or invalid Bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"PREMIUM_REQUIRED — Token's account has no active Premium subscription or company seat.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"NOT_FOUND — No entity with that slug/id.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"RATE_LIMITED — Token exceeded 60/min or 5,000/day. Retry-After header included.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"INTERNAL — Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{slug}/similar":{"get":{"operationId":"companies_similar","summary":"Curated similar companies for a given company — useful for exploring a market segment or finding alternative employers.","parameters":[{"name":"slug","in":"path","required":true,"description":"Company slug to find peers for.","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"400":{"description":"VALIDATION_ERROR — A query or path parameter failed validation; message says which.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"UNAUTHORIZED — Missing or invalid Bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"PREMIUM_REQUIRED — Token's account has no active Premium subscription or company seat.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"NOT_FOUND — No entity with that slug/id.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"RATE_LIMITED — Token exceeded 60/min or 5,000/day. Retry-After header included.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"INTERNAL — Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/jobs":{"get":{"operationId":"jobs_search","summary":"Search 75,000+ active job listings. Same index as the search_jobs MCP tool.","parameters":[{"name":"query","in":"query","required":false,"description":"Free-text title search.","schema":{"type":"string","description":"Free-text title search."}},{"name":"city","in":"query","required":false,"description":"Listing location filters (state is a two-letter code).","schema":{"type":"string","description":"Listing location filters (state is a two-letter code)."}},{"name":"state","in":"query","required":false,"description":"Listing location filters (state is a two-letter code).","schema":{"type":"string","description":"Listing location filters (state is a two-letter code)."}},{"name":"remote","in":"query","required":false,"description":"true = remote roles only.","schema":{"type":"boolean","description":"true = remote roles only."}},{"name":"level","in":"query","required":false,"description":"Seniority, e.g. senior, staff.","schema":{"type":"string","description":"Seniority, e.g. senior, staff."}},{"name":"min_salary","in":"query","required":false,"description":"Minimum listed salary in USD.","schema":{"type":"integer","description":"Minimum listed salary in USD."}},{"name":"posted_within_days","in":"query","required":false,"description":"Only listings updated in the last N days.","schema":{"type":"integer","description":"Only listings updated in the last N days."}},{"name":"funding_stage","in":"query","required":false,"description":"Company funding stages.","schema":{"type":"string","description":"Company funding stages. Comma-separated list."}},{"name":"tech_stack","in":"query","required":false,"description":"Company and listing attribute filters.","schema":{"type":"string","description":"Company and listing attribute filters. Comma-separated list."}},{"name":"investors","in":"query","required":false,"description":"Company and listing attribute filters.","schema":{"type":"string","description":"Company and listing attribute filters. Comma-separated list."}},{"name":"industry","in":"query","required":false,"description":"Company and listing attribute filters.","schema":{"type":"string","description":"Company and listing attribute filters. Comma-separated list."}},{"name":"job_tags","in":"query","required":false,"description":"Company and listing attribute filters.","schema":{"type":"string","description":"Company and listing attribute filters. Comma-separated list."}},{"name":"sort","in":"query","required":false,"description":"recency (default), relevance, recent_funding, most_raised, and more.","schema":{"type":"string","description":"recency (default), relevance, recent_funding, most_raised, and more."}},{"name":"limit","in":"query","required":false,"description":"Results per page, 1-50. Default 20.","schema":{"type":"integer","description":"Results per page, 1-50. Default 20."}},{"name":"page","in":"query","required":false,"description":"Page number, starting at 1.","schema":{"type":"integer","description":"Page number, starting at 1."}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"400":{"description":"VALIDATION_ERROR — A query or path parameter failed validation; message says which.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"UNAUTHORIZED — Missing or invalid Bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"PREMIUM_REQUIRED — Token's account has no active Premium subscription or company seat.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"NOT_FOUND — No entity with that slug/id.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"RATE_LIMITED — Token exceeded 60/min or 5,000/day. Retry-After header included.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"INTERNAL — Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/jobs/{id}":{"get":{"operationId":"jobs_get","summary":"Single job listing with the complete job description (not truncated) and company info.","parameters":[{"name":"id","in":"path","required":true,"description":"Numeric listing id from the search results.","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"400":{"description":"VALIDATION_ERROR — A query or path parameter failed validation; message says which.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"UNAUTHORIZED — Missing or invalid Bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"PREMIUM_REQUIRED — Token's account has no active Premium subscription or company seat.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"NOT_FOUND — No entity with that slug/id.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"RATE_LIMITED — Token exceeded 60/min or 5,000/day. Retry-After header included.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"INTERNAL — Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/funding-rounds":{"get":{"operationId":"funding_rounds","summary":"Recent venture rounds across 75,000+ rounds. Defaults to the last 90 days. meta.data_current_through gives the newest round date in the dataset.","parameters":[{"name":"since","in":"query","required":false,"description":"ISO date lower bound, e.g. 2026-01-01.","schema":{"type":"string","format":"date","description":"ISO date lower bound, e.g. 2026-01-01."}},{"name":"rounds","in":"query","required":false,"description":"Round names, e.g. Series A,Series B.","schema":{"type":"string","description":"Round names, e.g. Series A,Series B. Comma-separated list."}},{"name":"min_amount_usd","in":"query","required":false,"description":"Minimum raise amount (USD rows only).","schema":{"type":"integer","description":"Minimum raise amount (USD rows only)."}},{"name":"city","in":"query","required":false,"description":"Company HQ filters.","schema":{"type":"string","description":"Company HQ filters."}},{"name":"state","in":"query","required":false,"description":"Company HQ filters.","schema":{"type":"string","description":"Company HQ filters."}},{"name":"hiring","in":"query","required":false,"description":"true = only companies whose job listings Employbl has synced. Recently funded companies are the least likely to be covered, so this hides many that are actively hiring.","schema":{"type":"boolean","description":"true = only companies whose job listings Employbl has synced. Recently funded companies are the least likely to be covered, so this hides many that are actively hiring."}},{"name":"sort","in":"query","required":false,"description":"recency (default) or amount.","schema":{"type":"string","description":"recency (default) or amount."}},{"name":"limit","in":"query","required":false,"description":"Results per page, 1-50. Default 20.","schema":{"type":"integer","description":"Results per page, 1-50. Default 20."}},{"name":"page","in":"query","required":false,"description":"Page number, starting at 1.","schema":{"type":"integer","description":"Page number, starting at 1."}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"400":{"description":"VALIDATION_ERROR — A query or path parameter failed validation; message says which.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"UNAUTHORIZED — Missing or invalid Bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"PREMIUM_REQUIRED — Token's account has no active Premium subscription or company seat.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"NOT_FOUND — No entity with that slug/id.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"RATE_LIMITED — Token exceeded 60/min or 5,000/day. Retry-After header included.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"INTERNAL — Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Access token from https://www.employbl.com/profile/mcp"}},"schemas":{"Envelope":{"type":"object","properties":{"data":{"description":"Endpoint-specific payload (object or array)."},"meta":{"type":"object","properties":{"total":{"type":"integer"},"count":{"type":"integer"},"page":{"type":"integer"},"limit":{"type":"integer"},"data_current_through":{"type":"string","format":"date","nullable":true,"description":"Newest record date in the dataset (funding rounds)."}}}},"required":["data"]},"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["UNAUTHORIZED","PREMIUM_REQUIRED","VALIDATION_ERROR","NOT_FOUND","RATE_LIMITED","INTERNAL"]},"message":{"type":"string"}},"required":["code","message"]}},"required":["error"]}}}}