MotionSites APImotionsites.ai ↗
Access MotionSites AI website design prompts and templates via API. Browse free and premium listings by category, retrieve full prompt text, and fetch all free content.
What is the MotionSites API?
The MotionSites AI API exposes 3 endpoints that cover the full catalog of AI website design prompts and templates from motionsites.ai. The list_prompts endpoint returns metadata for every prompt in the catalog — filterable by category and pricing tier — while get_prompt delivers the complete prompt text and section breakdown for any individual entry, and get_all_free_content fetches all free heroes, landing pages, app prompts, backgrounds, and reusable sections in one call.
curl -X GET 'https://api.parse.bot/scraper/d92552a0-f057-47bb-9042-37c7babddaae/list_prompts?pricing=free&category=Travel' \ -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 motionsites-ai-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: MotionSites AI SDK — bounded, re-runnable; every call capped."""
from parse_apis.MotionSites_AI_API import MotionSites, Pricing, ParseError
client = MotionSites()
# List free travel prompts
for prompt in client.prompts.list(category="Travel", pricing=Pricing.FREE, limit=3):
print(prompt.title, prompt.category, prompt.is_free)
# Grab one prompt and navigate to its full detail
item = client.prompts.list(pricing=Pricing.FREE, limit=1).first()
try:
detail = item.details()
print(detail.prompt_id, detail.prompt_text[:100] if detail.prompt_text else "premium-locked")
except ParseError as e:
print("error:", e.code)
print("exercised: prompts.list, prompt.details")
Lists all available AI website design prompts/templates. Each prompt has metadata including title, category, type, pricing tier (free or premium), and preview URLs. Results can be filtered by category (fuzzy match) and pricing tier. When no filters are applied, returns the complete catalog across all categories and both pricing tiers in a single response, ordered by newest first.
| Param | Type | Description |
|---|---|---|
| pricing | string | Filter by pricing tier. Omitting returns all prompts. |
| category | string | Filter by category name (case-insensitive partial match, e.g. 'Travel', 'SaaS', 'Landing Page'). |
{
"type": "object",
"fields": {
"total": "integer count of prompts returned",
"prompts": "array of prompt summary objects"
},
"sample": {
"total": 8,
"prompts": [
{
"id": "mostar-guide",
"type": "hero",
"title": "Mostar Guide",
"types": null,
"is_free": true,
"category": "Travel",
"created_at": "2026-07-30T23:50:07.283374+00:00",
"has_assets": false,
"image_preview_url": null,
"video_preview_url": "https://pub-86dc5b5484314368ac5436a674b0d919.r2.dev/a/CleanShot%202026-07-31%20at%2007.43.14.mp4"
}
]
}
}About the MotionSites API
Browsing and Filtering the Catalog
The list_prompts endpoint returns an array of prompt summary objects along with a total count. Each object carries a title, category, type, pricing tier (free or premium), and preview URLs. You can pass an optional category string for a case-insensitive partial match — values like 'SaaS', 'Travel', or 'Landing Page' all work — and an optional pricing parameter to restrict results to either free or premium entries. Omitting both parameters returns the full catalog.
Retrieving Individual Prompt Details
Once you have a prompt slug from list_prompts, pass it as prompt_id to get_prompt. The response includes prompt_text, an array of sections, section_names, asset_download_url, individual_price_cents, and owns_individually. For free prompts, prompt_text is the complete, ready-to-use AI prompt string. For premium prompts, prompt_text is null unless the requesting account has purchased access — in that case section_names and pricing metadata are still returned so you can determine cost before buying.
Fetching All Free Content at Once
The get_all_free_content endpoint collects every free item across MotionSites AI in a single response, grouped into five arrays: hero_prompts, landing_page_prompts, app_prompts, backgrounds, and sections. Each entry includes name or title, preview URLs, and prompt text where available within the request time budget. The backgrounds array returns name and image URL for every background asset. This endpoint is the fastest way to seed a local cache of all free material without iterating through the catalog.
Data Coverage and Prompt Structure
Prompts are organized into categories that map to common website types (SaaS, travel, portfolios, landing pages, and others). Section-level granularity is available through section_names on individual prompts, which lets you inspect which content blocks a template covers before retrieving the full text. The individual_price_cents field makes it straightforward to display per-prompt pricing in your own UI without a separate lookup.
The MotionSites API is a managed, monitored endpoint for motionsites.ai — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when motionsites.ai 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 motionsites.ai 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 searchable gallery of AI website prompts filtered by category and pricing tier using
list_prompts - Display prompt section outlines and individual purchase prices for premium templates before a user commits to buying
- Seed a local prompt library with all free hero, landing page, and app prompts via a single
get_all_free_contentcall - Integrate MotionSites AI background images into a design tool by extracting image URLs from the
backgroundsarray - Compare free-tier prompt structures across categories to inform website template research
- Automate nightly syncs of the free content catalog to detect newly added prompts or backgrounds
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 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.
Does MotionSites AI offer an official developer API?+
What does `get_prompt` return for a premium prompt I haven't purchased?+
prompt_text is null. The response still includes section_names, individual_price_cents, owns_individually (false), and any available metadata, so you can present pricing and structure to a user before they decide to buy.Does `get_all_free_content` always include the full prompt text for every entry?+
hero_prompts and other arrays may return metadata and preview URLs without prompt_text if the budget is exceeded. For guaranteed full text on a specific prompt, use get_prompt with the individual prompt_id.Can I filter `list_prompts` by multiple categories at the same time?+
category parameter accepts a single value per request, so multi-category filtering is not currently supported in one call. The API covers single-value partial matching and a pricing tier filter. You can fork it on Parse and revise to add multi-category filtering logic.Is user account data — such as purchase history or saved prompts — accessible through this API?+
prompt_text), and free content aggregation. You can fork it on Parse and revise to add endpoints targeting any additional catalog surfaces.