canonical: https://jentic.com/apis/hillbillysoftware.com/hillbillysoftware

# Hillbillysoftware Shinobi API

Jentic's spec for the Shinobi API is a converted copy of the Swagger 2.0 document Hillbilly Software published at its own host, sourced from the public APIs.guru registry copy of it; the vendor's host no longer resolves, so the API cannot be called today. Shinobi is a community-maintained movie and television metadata API exposing 58 endpoints covering actors, awards, calendars, cast and crew, images, magnet hashes, ratings, trailers, and shows. Endpoints are addressed with an access token in the URL path, and lookups are available by IMDb ID, title, year, and country. The dataset blends scheduling, biographical, and visual metadata, which is why it suited second-screen apps, recommendation engines, and entertainment chatbots that needed a single source of structured film and TV facts. The API is intentionally read-heavy with a few POST endpoints to add new actors or shows.

## For AI agents

Look up movies and TV shows by IMDb ID or title - actors, awards, calendars, ratings, images, and trailers across 58 endpoints. Access token is passed in the URL path.

## Scope

Does not handle streaming playback, ticketing, or user watch history - use for movie and TV metadata, schedules, and awards lookups only.

## Capabilities

- Search actors and actresses by query and return up to five matching records
- Look up known aliases of a movie or TV show by IMDb ID or title
- Retrieve award winners and nominees for a given year or actor
- Pull TV schedules by date, country, network, or specific show and season
- Resolve cast and crew lists for a queried actor across their filmography
- Fetch movie and television show ratings from the metadata catalogue
- Add new actors or TV shows to the database via the AddActor and AddTVShow endpoints

## Use cases

### Second-Screen TV Companion App

A second-screen app shows the cast, ratings, and trailers for whatever the user is watching. Shinobi exposes /Cast, /Ratings, and /Trailers endpoints keyed by IMDb ID, so an agent can look up a show in real time and stitch the metadata into the app's UI without scraping.

Example prompt: Given IMDb ID tt0903747, fetch the cast list, current rating, and available trailers and return them as a single JSON payload.

### Awards Season Research

Entertainment bloggers and analysts pull historical award data to build retrospectives. Shinobi's `/Awards/ByYear` and `/Awards/ByWinner` endpoints return structured records that can be aggregated quickly into rankings and timelines.

Example prompt: Pull all award winners for 2024 and group the results by category to produce a ranked summary.

### TV Calendar Notification Bot

A chat bot notifies users when their favourite shows air. Shinobi's /Calendar endpoints return schedules by date, country, and show, so an agent can run a daily check and message users about new episodes without depending on a paid scheduling service.

Example prompt: Each morning, fetch `/Calendar/ByDate` for today and the user's country, filter for shows on the user's watchlist, and send a Slack message with tonight's airings.

### AI Agent Movie Recommendation Helper

A chat agent answers 'what should I watch tonight' questions by combining Shinobi's ratings, calendar, and cast data with the user's preferences. Through Jentic, the agent searches for the right Shinobi operation, loads the input schema, and executes against the public API.

Example prompt: When the user asks 'what's on tonight with high ratings', search Jentic for 'get tonight's TV calendar' and combine the result with /Ratings lookups to return the top three options.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/Actors/Search/{accesstoken}/{Query}` | Search actors and actresses |
| GET | `/Aliases/ByID/{AccessToken}/{imdbID}` | Get aliases for a title by IMDb ID |
| GET | `/Awards/ByWinner/{AccessToken}/{Nominee}` | List awards by nominee or winner |
| GET | `/Calendar/ByDate/{AccessToken}/{Date}/{Country}` | TV schedule for a date and country |
| GET | `/Cast/ActorBySearch/{AccessToken}/{Actor}` | List shows for an actor |
| POST | `/AddActor` | Add a new actor record |
| POST | `/AddTVShow` | Add a new TV show record |

## Key resources

- **Actors** — Search and add actor and actress records.
- **Aliases** — Alternate titles for movies and TV shows by ID or name.
- **Awards** — Award winners and nominees by year and by recipient.
- **Calendar** — TV schedules by date, country, network, show, and season.
- **Cast and Crew** — Filmography lookups by actor and show.
- **Ratings and Trailers** — Ratings and trailer assets for movies and TV shows.

## Why Jentic

- **Setup:** Wiring the Shinobi API by hand means substituting an access token into each URL path and choosing among IMDb-id and title-based variants for the same lookup, even though the spec declares no formal auth scheme. Through Jentic you install once, import the Shinobi API from the API Directory, store the access token once, and your agent calls it.
- **Permission scoping:** Shinobi places its access token and query values in the URL path rather than exposing scopable resource ids, so scoping stays at the operation level: limit the agent to the operations it needs, such as searching actors or reading a calendar by date. You choose that set, so write operations like adding an actor or a TV show are only available if you include them.
- **Credential handling:** Your Shinobi access token is stored once, encrypted, by your own Jentic One instance and substituted into the URL path at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list shows for an actor', and Jentic returns the matching Shinobi operation with its path-parameter schema so the agent can pick between IMDb-id and title-based variants without reading the reference docs.

## Related APIs

- **The Movie Database API** — Community-maintained movie and TV metadata with broader coverage and image assets.
- **OMDb API** — Lightweight IMDb-derived metadata API with a single search endpoint.
- **TVmaze API** — TV-focused metadata and schedules; pair with Shinobi to cross-reference air dates.
- **Trakt.tv API** — User watch history and tracking; pair with Shinobi metadata for personalised recommendations.

## FAQ

### Where does this OpenAPI spec for the Shinobi API come from?

Hillbilly Software did publish one. This spec's own metadata records the vendor serving a Swagger 2.0 document at api.hillbillysoftware.com/swagger/docs/v1, and Jentic sourced its copy from the public APIs.guru registry mirror of that document at https://api.apis.guru/v2/specs/hillbillysoftware.com/shinobi/v1/swagger.yaml, then converted it to OpenAPI 3.0. The vendor's host has stopped resolving, so its own copy is unreachable rather than never published, and the 58 operations here cannot be executed against a live API today. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Shinobi API use?

The Shinobi API embeds an access token directly in the URL path of each call (for example `/Actors/Search/{accesstoken}/{Query}`). Through Jentic, the access token is held in your Jentic One instance and substituted into the path at execution time, so the raw token never enters the agent context.

### Can I look up shows by IMDb ID?

Yes. Several endpoints accept an IMDb ID, including `/Aliases/ByID/{AccessToken}/{imdbID}.` Use IMDb ID for exact lookups and the title-based variants like `/Aliases/ByName` when you only have a string.

### What are the rate limits for the Shinobi API?

The Shinobi OpenAPI specification does not declare rate limits. Hillbilly Software enforces per-token quotas, so use search-result limits like the five-record cap on `/Actors/Search` and add backoff when paginating through award years.

### How do I get tonight's TV schedule through Jentic?

Run pip install jentic, then await client.search('get tonight TV calendar'), load the GET `/Calendar/ByDate/{AccessToken}/{Date}/{Country}` schema, and execute with today's date and the country code. Filter the response by the user's watchlist.

### Can I add new shows or actors to the database?

Yes. POST /AddActor and POST /AddTVShow let authenticated callers contribute new records. These are write operations so route them through Jentic with the contributor token rather than a read-only token.

### Can I limit what my agent is allowed to do with the Shinobi API?

Yes. Because you run Jentic One yourself, your own rules decide which Shinobi operations and credentials the agent may use, and Shinobi scopes at the operation level since its access token and query values sit in the URL path rather than exposing per-resource ids. You can allow only the read operations your agent needs, such as searching actors, reading a calendar by date, or fetching ratings and trailers, and leave everything else off. The write operations AddActor and AddTVShow are available only if you explicitly include them in that set.
