SimplyScripts APIsimplyscripts.com ↗
Access movie, TV, radio, and unproduced scripts from SimplyScripts.com via 10 endpoints. Search by title, browse by genre or letter, and retrieve Oscar-winning screenplays.
What is the SimplyScripts API?
The SimplyScripts API exposes 10 endpoints for searching and browsing the SimplyScripts.com script library, covering movie screenplays, TV teleplays, radio plays, stage plays, and unproduced original scripts. The search_scripts endpoint accepts keyword, exact, or boolean queries and returns matching entries with title, script URL, writer, host site, and optional IMDb URL. Other endpoints let you enumerate scripts by alphabetical letter, genre, Oscar status, or script type without requiring any prior knowledge of the site's URL structure.
curl -X GET 'https://api.parse.bot/scraper/09cfb102-7768-4256-8be3-28c8bd47d2d7/search_scripts?query=matrix&method=exact' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace simplyscripts-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""SimplyScripts SDK — search, browse, and inspect thousands of movie/TV/radio scripts."""
from parse_apis.simplyscripts_api import SimplyScripts, SearchMethod, Genre, ScriptNotFound
client = SimplyScripts()
# Search for scripts by keyword — limit caps total items fetched.
for script in client.scripts.search(query="matrix", method=SearchMethod.EXACT, limit=5):
print(script.title, script.script_url)
# Browse action movies by genre enum.
action_script = client.scripts.list_by_genre(genre=Genre.ACTION, limit=1).first()
if action_script:
print(action_script.title, action_script.writer)
# Drill into a script's detail (PDF vs HTML classification).
if action_script:
try:
detail = action_script.detail()
print(detail.type, detail.url)
except ScriptNotFound as exc:
print(f"Script gone: {exc.url}")
# Recent homepage updates with nested script links.
update = client.updates.list(limit=1).first()
if update:
print(update.title, update.summary[:80])
for link in update.scripts[:3]:
print(link.title, link.url)
# Oscar-winning screenplays.
for oscar in client.scripts.list_oscar(limit=3):
print(oscar.title, oscar.writer)
print("exercised: scripts.search / scripts.list_by_genre / detail / updates.list / scripts.list_oscar")
Full-text search over the SimplyScripts database by title, writer, or keyword. Returns matching script listings with titles, URLs, and metadata. The search method controls how multi-word queries are matched: exact matches the phrase, or matches any word, and requires all words.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword or phrase. |
| method | string | Search method controlling multi-word query matching. |
{
"type": "object",
"fields": {
"query": "string, the search query echoed back",
"results": "array of script objects with title, script_url, and optional writer, host_site, imdb_url"
},
"sample": {
"data": {
"query": "matrix",
"results": [
{
"title": "Matrix Reloaded, The (2003) Larry And Andy Wachowski [2001-10-27]",
"imdb_url": "http://us.imdb.com/Title?0133093",
"host_site": "| Screenplays and Scripts",
"script_url": "http://screenplaysandscripts.com/script_files/M/MATRIX RELOADED, THE (2003) Larry and Andy Wachowski %5b2001-10-27%5d.pdf"
}
]
},
"status": "success"
}
}About the SimplyScripts API
Browsing and Searching Scripts
The search_scripts endpoint accepts a query string plus an optional method parameter (exact, or, or and) and returns an array of script objects, each containing title, script_url, and — where available — writer, host_site, and imdb_url. For browsing without a search term, get_movie_scripts_by_letter accepts a lowercase letter or 0 and returns all movie scripts starting with that character. Not every letter has a corresponding listing page; requests for unsupported letters return an upstream error. get_movie_scripts_by_genre accepts genre slugs such as action, comedy, and drama to filter the movie listing.
TV, Radio, Stage, and Unproduced Scripts
get_tv_scripts paginates through television teleplay listings using a page filename parameter — confirmed values include tv.html, tv_ab.html, and tv_cd.html. get_radio_scripts and get_plays return script arrays without additional filters. get_unproduced_scripts lists original screenplays submitted by writers and optionally accepts a genre slug (drama, action-adventure, comedy); omitting the parameter returns the full unproduced listing. All these endpoints return the same base script object shape: title, script_url, and an optional writer or host field.
Oscar Scripts and Homepage Updates
get_oscar_scripts returns a flat array of Academy Award-winning and nominated screenplays, each entry carrying title (often the award year as a label), script_url, and optionally writer and imdb_url. get_homepage_updates pulls the latest site additions as an array of update objects, each with a title, a summary string, and a nested scripts array of {title, url} pairs — useful for tracking newly added content without polling individual listing pages.
Retrieving Script Detail
get_script_detail accepts any script_url returned by the other endpoints and resolves it to one of three types: pdf (no content field returned), html (SimplyScripts-hosted page, includes content text), or external (off-site HTML, includes content text). This lets you programmatically distinguish downloadable PDFs from browsable script pages without issuing a raw HTTP request yourself.
The SimplyScripts API is a managed, monitored endpoint for simplyscripts.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when simplyscripts.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official simplyscripts.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a screenplay search tool that queries
search_scriptswith boolean operators and surfaces IMDb links alongside script downloads. - Track newly added scripts by polling
get_homepage_updatesand diffing the nestedscriptsarrays over time. - Compile a dataset of Oscar-winning screenplays using
get_oscar_scriptsto collect title, writer, andimdb_urlfields. - Generate a genre-filtered script catalog by iterating
get_movie_scripts_by_genreacross action, comedy, and drama slugs. - Enumerate the full alphabetical movie script index via
get_movie_scripts_by_letterto build an offline script directory. - Identify script file types before downloading by passing
script_urlvalues toget_script_detailand filtering on thetypefield. - Aggregate unproduced screenplays by genre for a writers' resource site using
get_unproduced_scriptswith genre slug filtering.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does SimplyScripts have an official developer API?+
What does `get_script_detail` actually return for a PDF link?+
type: 'pdf' and omits the content field entirely. For HTML pages — whether hosted on SimplyScripts or externally — it returns type: 'html' or type: 'external' along with the content text of the page.Are all alphabetical letters supported in `get_movie_scripts_by_letter`?+
Can I retrieve the actual script text or screenplay content through this API?+
script_url links and, for HTML pages, the page's text content via get_script_detail. Raw screenplay text from PDF files is not extracted or returned. You can fork this API on Parse and revise it to add a PDF-parsing endpoint if you need structured script text.Does the API cover all genre slugs for `get_movie_scripts_by_genre` and `get_unproduced_scripts`?+
action, comedy, and drama for movies; drama, action-adventure, and comedy for unproduced scripts. Other genre slugs may exist on the site but are not documented as confirmed. You can fork the API on Parse and revise it to test and add additional genre slug support.