# BiotechRoles - Full API Documentation > BiotechRoles is a job board for biotechnology, pharmaceutical, and life sciences positions. Currently listing 5,112 jobs from 91 companies. Base URL: https://biotechroles.com/api/v1 Authentication: None required (public read-only API) --- ## GET /api/v1/jobs Search and list biotech jobs with optional filters. ### Query Parameters | Parameter | Type | Default | Description | |-----------------|--------|---------|----------------------------------------------| | q | string | - | Full-text search across position, company, description | | location | string | - | Filter by location (case-insensitive regex) | | company | string | - | Filter by company name | | skills | string | - | Comma-separated list of skills to match | | remote | string | - | If set, filters to remote positions | | label | string | - | Filter by job label (e.g. "Biotech", "Pharma") | | experience_level| string | - | Filter by experience level | | employment_type | string | - | Filter by employment type | | page | number | 1 | Page number | | limit | number | 20 | Results per page (max 100) | ### Example Response ```json { "data": [ { "id": "683b1a2e4f5c6d7e8f9a0b1c", "slug": "senior-bioinformatics-scientist-at-genentech-a1b2c3", "position": "Senior Bioinformatics Scientist", "company": "Genentech", "companySlug": "genentech", "location": "South San Francisco, CA", "description": "We are seeking a Senior Bioinformatics Scientist to join our Computational Biology team...", "skills": ["Python", "R", "Bioinformatics", "NGS", "Machine Learning"], "labels": ["Biotech"], "experience_level": "Senior", "employment_type": "Full-time", "salary": null, "salaryEstimation": { "min": 145000, "max": 185000, "currency": "USD", "confidence": 0.82 }, "applyUrl": "https://genentech.com/careers/...", "companyUrl": "https://genentech.com", "url": "https://biotechroles.com/senior-bioinformatics-scientist-at-genentech-a1b2c3/683b1a2e4f5c6d7e8f9a0b1c", "date": "2026-05-10T08:30:00.000Z", "createdAt": "2026-05-10T08:30:00.000Z", "updatedAt": "2026-05-10T08:30:00.000Z" } ], "pagination": { "page": 1, "limit": 20, "total": 1523, "pages": 77 } } ``` --- ## GET /api/v1/jobs/:slug Get a single job posting by its URL slug. ### Example Response ```json { "data": { "id": "683b1a2e4f5c6d7e8f9a0b1c", "slug": "senior-bioinformatics-scientist-at-genentech-a1b2c3", "position": "Senior Bioinformatics Scientist", "company": "Genentech", "companySlug": "genentech", "location": "South San Francisco, CA", "description": "Full job description...", "skills": ["Python", "R", "Bioinformatics", "NGS", "Machine Learning"], "labels": ["Biotech"], "experience_level": "Senior", "employment_type": "Full-time", "salary": null, "salaryEstimation": { "min": 145000, "max": 185000, "currency": "USD", "confidence": 0.82 }, "applyUrl": "https://genentech.com/careers/...", "companyUrl": "https://genentech.com", "url": "https://biotechroles.com/senior-bioinformatics-scientist-at-genentech-a1b2c3/683b1a2e4f5c6d7e8f9a0b1c", "date": "2026-05-10T08:30:00.000Z", "createdAt": "2026-05-10T08:30:00.000Z", "updatedAt": "2026-05-10T08:30:00.000Z" } } ``` --- ## GET /api/v1/companies List all companies with job counts and metadata. Cached for 10 minutes. ### Example Response ```json { "data": [ { "company": "Genentech", "companySlug": "genentech", "jobCount": 42, "locations": ["South San Francisco, CA", "Oceanside, CA"], "latestJobDate": "2026-05-10T08:30:00.000Z" } ], "total": 347 } ``` --- ## GET /api/v1/companies/:slug Get company details with all their current job listings. ### Example Response ```json { "data": { "company": "Genentech", "companySlug": "genentech", "companyUrl": "https://genentech.com", "jobCount": 42, "jobs": [...] } } ``` --- ## GET /api/v1/skills Top 200 skills ranked by frequency across all jobs. Cached for 10 minutes. ### Example Response ```json { "data": [ { "skill": "Python", "count": 412 }, { "skill": "R", "count": 287 }, { "skill": "Bioinformatics", "count": 234 }, { "skill": "Machine Learning", "count": 198 }, { "skill": "GMP", "count": 156 } ], "total": 200 } ``` --- ## GET /api/v1/locations Top 200 locations ranked by job count. Cached for 10 minutes. ### Example Response ```json { "data": [ { "location": "San Francisco, CA", "count": 89 }, { "location": "Boston, MA", "count": 76 }, { "location": "Cambridge, MA", "count": 54 }, { "location": "Remote", "count": 45 } ], "total": 200 } ``` --- ## GET /api/v1/stats Site-wide statistics. Cached for 10 minutes. ### Example Response ```json { "data": { "totalJobs": 5112, "totalCompanies": 91, "jobsThisWeek": 127, "lastUpdated": "2026-05-10T08:30:00.000Z" } } ``` --- ## Usage Examples ### Search for Python jobs in Boston `GET /api/v1/jobs?q=python&location=Boston` ### Find remote biotech jobs `GET /api/v1/jobs?remote=true&label=Biotech` ### Filter by multiple skills `GET /api/v1/jobs?skills=Python,R,Bioinformatics` ### Get page 2 with 50 results `GET /api/v1/jobs?page=2&limit=50` ### Get senior-level positions `GET /api/v1/jobs?experience_level=Senior` --- ## Browsable Website Pages - Homepage: https://biotechroles.com - All jobs: https://biotechroles.com/biotech-jobs - Remote jobs: https://biotechroles.com/remote-biotech-jobs - Biotech jobs: https://biotechroles.com/biotech-jobs-all - Pharma jobs: https://biotechroles.com/pharma-jobs - Medtech jobs: https://biotechroles.com/medtech-jobs - Jobs by location: https://biotechroles.com/biotech-jobs-in-{city} - Jobs by company: https://biotechroles.com/company/{slug} - Salary pages: https://biotechroles.com/biotech-salaries - Skills directory: https://biotechroles.com/biotech-skills - RSS feed: https://biotechroles.com/feed/jobs.xml - Sitemap index: https://biotechroles.com/sitemap-index.xml