# Flsenate — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Watch the Florida Senate's daily livestream schedule to find out when legislative sessions and committee meetings are being broadcast. Plan your viewing by checking the current day's scheduled video broadcasts and their times.

**Category:** Government & Public Data | **Website:** [www.flsenate.gov/Media/VideoSchedule](https://www.flsenate.gov/Media/VideoSchedule) | **Docs:** [parse.bot/marketplace/926eb894-87e8-4759-869d-db2737fafd84/flsenate-gov-api](https://parse.bot/marketplace/926eb894-87e8-4759-869d-db2737fafd84/flsenate-gov-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-flsenate-gov-api-926eb894/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_schedule

Returns the Florida Senate's video broadcast schedule. The site only serves today's schedule; when a date matching today is provided or date is omitted, returns the current day's livestreams. When a non-today date is provided, returns an empty livestreams array since the site does not support historical or future schedules. Each livestream includes time, chamber, event name, status, and Roku link if available.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `date` | string | No | Date in YYYYMMDD format (e.g. 20260811). When omitted, returns today's schedule. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-flsenate-gov-api-926eb894/get_schedule \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date":"<string>"}'
```

### get_video

Returns full metadata for a single Florida Senate video including title, description, duration, date, category, and the HLS (m3u8) stream URL when available. Accepts a numeric video ID (from search_videos results) or a full VideoPlayer URL.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `video_id` | string | Yes | Numeric video ID (e.g. '6345') or full detail page URL (e.g. 'https://www.flsenate.gov/media/VideoPlayer/6345'). Video IDs are returned by search_videos in the video_id field. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-flsenate-gov-api-926eb894/get_video \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"video_id":"<string>"}'
```

### search_videos

Browse and filter the Florida Senate video archive. Returns paginated results (25 per page) with optional date range and chamber/category filters. The site does not support keyword text search; filtering is limited to date range and committee/session type. Results are ordered newest first.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category` | string | No | Filter by committee or session type. Values include 'Senate Session', 'House Session', 'Joint Session', or a numeric committee ID (e.g. '6807' for Appropriations). When omitted, returns all video types. |
| `date_from` | string | No | Start of date range in M/D/YYYY format (e.g. 6/1/2026). When omitted or empty, no start date filter is applied. |
| `date_to` | string | No | End of date range in M/D/YYYY format (e.g. 6/30/2026). When omitted or empty, no end date filter is applied. |
| `page` | integer | No | Page number for pagination (1-indexed). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-flsenate-gov-api-926eb894/search_videos \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category":"<string>","date_from":"<string>","date_to":"<string>","page":"<integer>"}'
```
