Discover/Runway API
live

Runway APIrunway.com ↗

Access Runway's blog posts, research publications, and open job listings via 4 structured API endpoints. Filter by category, query, location, and department.

Endpoint health
verified 1h ago
list_news_posts
get_news_post
list_publications
list_jobs
4/4 passing latest checkself-healing
Endpoints
4
Updated
2h ago

What is the Runway API?

The Runway API provides structured access to runway.com's public content through 4 endpoints covering news posts, individual post content, research publications, and open job listings. The list_news_posts endpoint returns a paginated, filterable catalog of company news, customer stories, engineering updates, and safety articles, each with a slug you can pass directly to get_news_post to retrieve the full body text, block-level content, embedded images, and outbound links.

This call costs2 credits / call— charged only on success
Try it
1-based page number over the filtered, date-sorted list.
Case-insensitive substring matched against post title, excerpt and tags. Omitted = no text filter.
Post category filter (matches a post's primary or additional category). Omitted = all categories.
Posts per page; values above 100 are clamped to 100.
→ api.parse.bot/scraper/4cc9526e-da52-4b46-a7e7-cd6e4e0e9657/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/4cc9526e-da52-4b46-a7e7-cd6e4e0e9657/list_news_posts?category=research' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 runway-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.

"""Walkthrough: Runway public portal — news, publications, and careers."""
from parse_apis.runway_com_api import Runway, NewsCategory, PostNotFound

client = Runway()

# Browse recent research posts, capped at 5 items.
for post in client.news_post_summaries.list(category=NewsCategory.RESEARCH, limit=5):
    print(post.title, post.date, post.category_label)

# Drill into the first research post for its full body and images.
summary = client.news_post_summaries.list(category=NewsCategory.RESEARCH, limit=1).first()
if summary is not None:
    detail = summary.details()
    print(detail.title, detail.is_standard_post)
    print(detail.description)
    for block in detail.blocks[:3]:
        print(f"  [{block.tag}] {block.text[:80]}")

# Point lookup by slug derived from the summary above.
if summary is not None:
    try:
        full = client.news_posts.get(slug=summary.slug)
        print(full.title, len(full.images), "images")
    except PostNotFound:
        print("post no longer available")

# List open engineering jobs.
for job in client.jobs.list(department="Engineering", limit=5):
    print(job.title, job.location, job.is_remote)

# Browse research publications.
for pub in client.publications.list(limit=3):
    print(pub.title, pub.date, pub.paper_url)

print("exercised: news_post_summaries.list / details / news_posts.get / jobs.list / publications.list")
All endpoints · 4 totalmissing one? ·

Lists Runway's news/blog posts (company news, customer stories, research, engineering, safety, developers) newest first. One round trip loads the complete post catalog, then an optional category filter, an optional case-insensitive text match over title, excerpt and tags, and page/page_size slicing are applied locally. total_matched is the number of posts matching the filters, total_posts the whole catalog, and has_more tells whether a further page exists; page defaults to 1 and page_size to 20 (max 100). An empty posts array is a valid result when no post matches the query. Each post's slug is the input accepted by get_news_post.

Input
ParamTypeDescription
pageinteger1-based page number over the filtered, date-sorted list.
querystringCase-insensitive substring matched against post title, excerpt and tags. Omitted = no text filter.
categorystringPost category filter (matches a post's primary or additional category). Omitted = all categories.
page_sizeintegerPosts per page; values above 100 are clamped to 100.
Response
{
  "type": "object",
  "fields": {
    "page": "integer page returned",
    "posts": "array of post summaries: slug (path accepted by get_news_post), title, date (ISO 8601 UTC), url, category (slug) and category_label, additional_categories (array of category slugs), author, excerpt, thumbnail URL, tags (array of strings), featured (boolean)",
    "has_more": "boolean, true when a later page exists",
    "page_size": "integer effective page size",
    "total_posts": "integer size of the whole post catalog",
    "total_matched": "integer count of posts matching the filters across all pages"
  },
  "sample": {
    "data": {
      "page": 1,
      "posts": [
        {
          "url": "https://runway.com/research/introducing-praxis-1",
          "date": "2026-09-30T17:00:00.000Z",
          "slug": "research/introducing-praxis-1",
          "tags": [],
          "title": "Introducing Praxis-1",
          "author": "Runway",
          "excerpt": "An open-weight world action model that turns Runway's video pretraining into control for real robots.",
          "category": "research",
          "featured": false,
          "thumbnail": "https://d3phaj0sisr2ct.cloudfront.net/site/research/praxis-1/images/praxis-1-card.webp",
          "category_label": "Research",
          "additional_categories": []
        }
      ],
      "has_more": true,
      "page_size": 3,
      "total_posts": 165,
      "total_matched": 30
    },
    "status": "success"
  }
}

About the Runway API

News and Blog Content

list_news_posts returns the full post catalog sorted newest first, with each entry exposing a slug, title, date (ISO 8601 UTC), url, category slug, and category_label. You can narrow results with a category filter, a case-insensitive query matched against title, excerpt, and tags, and a page/page_size pair — page_size is clamped to 100. The response includes total_posts, total_matched, and has_more so you can paginate reliably.

Individual Post Detail

get_news_post accepts a slug from the listing response and returns the full article: title, date, description, image (OpenGraph lead image), body_text (plain text with blank-line separators), blocks (an ordered array of {tag, text} objects covering h1–h4, p, li, and blockquote elements), links (external URLs found in the body), and images (all body image URLs). This block structure lets you reconstruct document hierarchy without parsing raw HTML.

Research Publications

list_publications hits the Research > Publications page in a single call and returns all entries at once — no pagination inputs. Each publication object includes title, a display date string as shown on the site (e.g. "September 3, 2026"), an authors array, additional_author_count for abbreviated author lists, abstract, and paper_url. The total field tells you how many publications were returned.

Job Listings

list_jobs returns all open roles with full detail: id, title, department, team, employment_type, location, secondary_locations, workplace_type, remote flag, country, publish timestamp, job page URL, application URL, and the full plain-text job description. You can filter by query (title substring), location (primary location substring), or department (case-insensitive exact match). The response also surfaces departments and locations arrays so you can enumerate valid filter values before querying.

Reliability & maintenanceVerified

The Runway API is a managed, monitored endpoint for runway.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when runway.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 runway.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.

Last verified
1h ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor Runway's engineering and safety blog posts by filtering list_news_posts on category to track new publications.
  • Build a research digest tool that aggregates list_publications results including abstracts and paper URLs.
  • Pipe get_news_post body blocks into a text pipeline to extract structured content from Runway announcements.
  • Track new open roles by department or location using list_jobs with the department and location filters.
  • Collect outbound links from Runway blog posts to identify referenced tools, papers, and partner sites.
  • Aggregate authors and additional_author_count from publications to map Runway's research contributor network.
  • Alert on new customer story posts by polling list_news_posts with a category filter and comparing against a stored total_matched count.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Runway have an official developer API?+
Runway offers a developer API for its AI video generation platform at https://docs.runwayml.com. That API covers model inference and asset generation. The Parse Runway API is separate and covers public-facing content: news posts, research publications, and job listings.
How does filtering work in list_news_posts?+
list_news_posts accepts three independent filters: category matches a post's primary or additional category slug; query does a case-insensitive substring match across title, excerpt, and tags; and page/page_size paginate the filtered result set. All filters are optional and can be combined. The response includes total_matched so you know how many posts satisfy the active filters across all pages.
Are author lists always complete in list_publications?+
Not always. The site abbreviates long author lists, so the authors array reflects only the names displayed on the page. The additional_author_count field tells you how many additional authors were omitted from the visible listing. Full author lists are not available through this endpoint.
Does the API cover Runway's video generation model outputs or API usage history?+
No. The API covers public content only: blog/news posts, research publications, and open job listings. Model outputs, user account data, and API usage history are not exposed. You can fork this API on Parse and revise it to add endpoints that target other public surfaces of runway.com if they become available.
Can I retrieve the full text of a job description, or just metadata?+
list_jobs returns the full plain-text job description for every role in the response, not just metadata. Each job object also includes application_url, workplace_type, secondary_locations, and publish timestamp alongside title, department, team, and location fields.
Page content last updated . Spec covers 4 endpoints from runway.com.
Related APIs in News MediaSee all →