Discover/Lovable API
live

Lovable APImoviatravel.lovable.app

Access Movia Travel data via API. Compare train, bus, and flight options with scored results including duration, price, CO2 emissions, and segment breakdowns.

This API takes change requests — .
Endpoint health
monitored
compare_travel_options
Checks pendingself-healing
Endpoints
1
Updated
3h ago

What is the Lovable API?

The Movia Travel API exposes 1 endpoint — compare_travel_options — that returns scored multi-modal transport options from a given origin city to destinations including Milan, Rome, and Barcelona. Each response includes up to a dozen response fields per option, covering price, CO2 emissions, travel duration, comfort scores, and door-to-door segment breakdowns across train, bus, and flight modes.

This call costs1 credit / call— charged only on success
Try it
Departure city name (e.g. Paris, Lyon, Secaucus).
api.parse.bot/scraper/cda5bf7f-c9d4-45ad-885d-5404ba6f4599/<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/cda5bf7f-c9d4-45ad-885d-5404ba6f4599/compare_travel_options?origin=Paris' \
  -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 moviatravel-lovable-app-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: MOVIA Travel — compare transport options from an origin city."""
from parse_apis.moviatravel_lovable_app_api import Movia, ParseError

client = Movia()

# Compare travel options from Paris to popular destinations.
try:
    comparison = client.comparisons.compare(origin="Paris")
except ParseError as e:
    print(f"Upstream extraction failed: {e.code}")
    raise
print(f"Origin: {comparison.origin}, destinations: {comparison.total_destinations}")

# Walk each destination and inspect highlighted picks.
for dest in comparison.destinations:
    print(f"\n--- {dest.destination} ({dest.analyzed_count} options analyzed) ---")
    print(f"  Best overall: {dest.best.provider} | {dest.best.type} | €{dest.best.price} | {dest.best.duration_minutes}min | {dest.best.co2_kg}kg CO2")
    print(f"  Cheapest:     {dest.cheapest.provider} | €{dest.cheapest.price}")
    print(f"  Fastest:      {dest.fastest.provider} | {dest.fastest.duration_minutes}min")

    # Nullable picks — only available when that transport type exists for the route.
    if dest.greenest is not None:
        print(f"  Greenest:     {dest.greenest.provider} | {dest.greenest.co2_kg}kg CO2")
    if dest.best_bus is not None:
        print(f"  Best bus:     {dest.best_bus.provider} | €{dest.best_bus.price}")

# Drill into scores and segments for the first destination's best option.
first_dest = comparison.destinations[0]
best = first_dest.best
print(f"\nScores for best option to {first_dest.destination}:")
print(f"  overall={best.scores.overall}, comfort={best.scores.comfort}, co2={best.scores.co2}")

for seg in best.segments:
    print(f"  Segment: {seg.from_location} -> {seg.to_location} ({seg.mode}, {seg.duration_minutes}min)")

print("\nexercised: comparisons.compare / Destination picks / Score / Segment navigation")
All endpoints · 1 totalmissing one? ·

Compare travel options from a given origin city to popular destinations (Milan, Rome, Barcelona). Returns multiple transport options (train, bus, flight) scored by price, speed, comfort, and CO2 emissions, with detailed door-to-door segment breakdowns including first/last mile transfers. Each destination includes highlighted picks: best overall, cheapest, fastest, greenest, best by transport type. One upstream round-trip per call; always returns 3 destinations.

Input
ParamTypeDescription
originstringDeparture city name (e.g. Paris, Lyon, Secaucus).
Response
{
  "type": "object",
  "fields": {
    "origin": "string — the origin city used for the search",
    "destinations": "array of destination objects, each containing scored travel options",
    "total_destinations": "integer — number of destinations returned"
  },
  "sample": {
    "data": {
      "origin": "Paris",
      "destinations": [
        {
          "best": {
            "type": "bus",
            "price": 82,
            "co2_kg": 56,
            "scores": {
              "co2": 81,
              "comfort": 40,
              "fastest": 12,
              "overall": 78,
              "cheapest": 94
            },
            "arrival": "2026-09-11T09:01:00",
            "currency": "EUR",
            "provider": "Demo Bus (ligne directe)",
            "segments": [
              {
                "to": "Paris — gare routière",
                "from": "Paris centre",
                "mode": "metro",
                "label": "Métro / bus vers la gare",
                "price": 4,
                "arrival": "2026-09-10T19:50:00",
                "departure": "2026-09-10T19:16:00",
                "duration_minutes": 34
              }
            ],
            "departure": "2026-09-10T19:16:00",
            "connections": 0,
            "duration_minutes": 825
          },
          "query": {
            "currency": "EUR",
            "passengers": 2,
            "departure_date": "2026-09-10"
          },
          "origin": "Paris",
          "fastest": {
            "type": "flight",
            "price": 310,
            "co2_kg": 184,
            "scores": {
              "co2": 5,
              "comfort": 60,
              "fastest": 100,
              "overall": 22,
              "cheapest": 0
            },
            "arrival": "2026-09-10T21:58:00",
            "currency": "EUR",
            "provider": "Demo Air (réseau)",
            "segments": [],
            "departure": "2026-09-10T16:13:00",
            "connections": 1,
            "duration_minutes": 345
          },
          "best_bus": null,
          "cheapest": {
            "type": "bus",
            "price": 68,
            "co2_kg": 62,
            "scores": {
              "co2": 77,
              "comfort": 40,
              "fastest": 0,
              "overall": 69,
              "cheapest": 100
            },
            "arrival": "2026-09-10T21:43:00",
            "currency": "EUR",
            "provider": "Demo Bus (correspondance)",
            "segments": [],
            "departure": "2026-09-10T06:51:00",
            "connections": 1,
            "duration_minutes": 892
          },
          "greenest": null,
          "best_train": {
            "type": "train",
            "price": 206,
            "co2_kg": 24,
            "scores": {
              "co2": 100,
              "comfort": 90,
              "fastest": 77,
              "overall": 60,
              "cheapest": 43
            },
            "arrival": "2026-09-11T01:30:00",
            "currency": "EUR",
            "provider": "Demo Rail (TGV/Frecciarossa)",
            "segments": [],
            "departure": "2026-09-10T17:39:00",
            "connections": 0,
            "duration_minutes": 471
          },
          "all_options": [],
          "best_flight": null,
          "destination": "Milan",
          "analyzed_count": 49
        }
      ],
      "total_destinations": 3
    },
    "status": "success"
  }
}

About the Lovable API

What the API Returns

The compare_travel_options endpoint accepts an optional origin string (e.g. Paris, Lyon, Secaucus) and returns a structured comparison across three fixed destination cities: Milan, Rome, and Barcelona. The top-level response includes the resolved origin city, a total_destinations integer, and a destinations array where each entry holds multiple transport options scored across price, speed, comfort, and CO2 emissions.

Scored Transport Options

Each transport option in the destinations array carries a composite score alongside individual dimension scores, letting you sort or filter by what matters most — cost efficiency, carbon footprint, or journey time. Options span train, bus, and flight modes, and each includes door-to-door segment breakdowns covering first-mile and last-mile transfers in addition to the main leg. This makes the data suitable for total-journey cost calculations, not just trunk-route prices.

Coverage and Limitations

The endpoint currently targets a fixed set of popular European destinations (Milan, Rome, Barcelona). The origin parameter is optional; omitting it causes the API to fall back to a default departure point. There is no pagination — all destinations and their options are returned in a single response. Real-time availability and booking links are not part of the response shape; the API focuses on comparative pricing and emissions data.

Reliability & maintenance

The Lovable API is a managed, monitored endpoint for moviatravel.lovable.app — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when moviatravel.lovable.app 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 moviatravel.lovable.app 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?+
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
  • Build a travel comparison widget showing train vs. bus vs. flight cost and CO2 for a chosen European origin city.
  • Power a carbon-footprint calculator that ranks routes by CO2 emissions per destination.
  • Generate automated travel briefings that surface the fastest and cheapest options for common city pairs.
  • Create a budget-travel dashboard that scores and sorts routes by price across multiple destinations simultaneously.
  • Integrate segment-level duration data into a trip-planning app to surface total door-to-door travel times.
  • Benchmark eco-friendly routing by comparing CO2 scores across transport modes for the same origin-destination pair.
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 Movia Travel have an official developer API?+
Movia Travel (moviatravel.lovable.app) does not publish an official public developer API. The Parse API is the available programmatic interface for accessing this data.
What destinations does compare_travel_options support?+
The endpoint currently returns results for three fixed destinations: Milan, Rome, and Barcelona. The total_destinations field in the response reflects how many destinations were matched. You can fork this API on Parse and revise it to add additional destination cities.
Does the API return live booking links or seat availability?+
No. The response covers comparative data — price, duration, CO2 emissions, comfort scores, and segment breakdowns — but does not include booking URLs, seat counts, or real-time availability. You can fork the API on Parse and revise it to add the missing endpoint if your use case requires booking-level data.
What happens if I omit the origin parameter?+
The origin parameter is optional. When omitted, the API falls back to a default departure city. To get results specific to your use case, passing an explicit city name such as Paris or Lyon in the origin field is recommended.
Can I filter results by a single transport mode, such as flights only?+
The endpoint returns all transport modes (train, bus, flight) in a single response without server-side mode filtering. Filtering to a specific mode needs to be applied client-side against the returned options array. You can fork this API on Parse and revise it to expose a mode filter parameter at the endpoint level.
Page content last updated . Spec covers 1 endpoint from moviatravel.lovable.app.
Related APIs in TravelSee all →
omio.com API
Search and compare train, bus, and flight trips across multiple providers in real-time, with detailed pricing breakdowns and the ability to view fares across different dates. Find the best deals by exploring popular destinations, autocompleting location searches, and analyzing price variations to plan your ideal journey.
rome2rio.com API
Find and compare train routes between cities worldwide, instantly viewing travel duration, number of stops, carrier information, ticket prices, and direct booking links. Streamline your train journey planning by accessing comprehensive route options and pricing in one place.
skyscanner.com API
Search for flights and compare prices across multiple booking agents, while exploring airports and cities to plan your trip. View daily and monthly price calendars to find the best deals for your travel dates.
us.trip.com API
Search for flights across Trip.com and view a low-price calendar to find the cheapest travel dates for your destination. Compare flight options and prices to book your next trip at the best rates available.
travelocity.com API
Search for travel destinations and browse hotel listings on Travelocity. Compare options by location, dates, and availability to find and book accommodation.
trainline.eu API
Search for train stations and routes across the UK and Europe, then find and compare available journeys with schedules and pricing. Book your ideal train trip by accessing real-time travel options directly from Trainline.com.
wanderu.com API
Search and compare bus and train routes between US cities with real-time pricing and schedules. Find the best travel options for your trip by filtering results and viewing available departure times and fares across multiple carriers.
trenitalia.com API
Search for trains across Italy, check real-time train status and delays, view station departure and arrival boards, and find available tickets all in one place. Get live traffic information and detailed train itineraries to plan your journey with complete visibility into schedules and service disruptions.