{
  "openapi": "3.0.1",
  "info": {
    "title": "Momondo Flight Prices Scraper — Fares & Airlines",
    "description": "Scrape Momondo published flight route deals by airport or city pair: fare, currency, airlines, dates, times, duration, stops, and itinerary links as JSON. About USD 10 per 1,000 results.",
    "version": "1.0",
    "x-build-id": "g7xnmFNKSgqTlZw2W"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/muhammadafzal~momondo-flight-prices-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-muhammadafzal-momondo-flight-prices-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/muhammadafzal~momondo-flight-prices-scraper/runs": {
      "post": {
        "operationId": "runs-sync-muhammadafzal-momondo-flight-prices-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/muhammadafzal~momondo-flight-prices-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-muhammadafzal-momondo-flight-prices-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "origin": {
            "title": "Origin airport or city",
            "type": "string",
            "description": "Use this to set the departure airport or city: a 3-letter IATA airport/metro code such as JFK, NYC, LHR, or ZRH, or a city name/slug such as New York, Zürich, or new-york-city. Leave empty when scraping exclusively from startUrls; when both origin/destination and startUrls are empty, defaults to JFK."
          },
          "destination": {
            "title": "Destination airport or city",
            "type": "string",
            "description": "Use this to set the arrival airport or city: a 3-letter IATA airport/metro code such as LHR, LON, CDG, or NRT, or a city name/slug such as London, São Paulo, or tokyo. Must refer to a different airport or city than origin."
          },
          "startUrls": {
            "title": "Momondo route URLs",
            "maxItems": 25,
            "type": "array",
            "description": "Use this to scrape up to 25 public Momondo route deal pages in one run, for example https://www.momondo.com/flights/new-york-city/london or curated cabin pages like https://www.momondo.com/flights/Business-Class-New-York-NYC/London-LON.bc.ksp. Do not pass /flight-search/ live poll URLs, which Momondo disallows in robots.txt.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "tripType": {
            "title": "Trip type filter",
            "enum": [
              "all",
              "roundtrip",
              "oneway"
            ],
            "type": "string",
            "description": "Use this to keep all published route deals or filter to round-trip or one-way itineraries only. Must not conflict with dealCategory (for example roundtrip with oneway).",
            "default": "all"
          },
          "dealCategory": {
            "title": "Deal section filter",
            "enum": [
              "all",
              "roundtrip",
              "oneway",
              "direct",
              "lastminute"
            ],
            "type": "string",
            "description": "Use this to restrict results to a specific Momondo route deal section: roundtrip, oneway, direct (nonstop section), or lastminute, or keep all sections.",
            "default": "all"
          },
          "nonstopOnly": {
            "title": "Nonstop flights only",
            "type": "boolean",
            "description": "Use this to keep only itineraries where every leg has 0 stops (outbound and return on round trips). Leave false to include connecting itineraries.",
            "default": false
          },
          "departureDateFrom": {
            "title": "Earliest departure date",
            "pattern": "^\\s*(\\d{4}-\\d{2}-\\d{2})?\\s*$",
            "type": "string",
            "description": "Use this to keep only published deals whose outbound departureDate is on or after YYYY-MM-DD (for example 2026-11-15). Filters Momondo's published route deals rather than running an arbitrary custom-date search; leave empty for any upcoming date."
          },
          "departureDateTo": {
            "title": "Latest departure date",
            "pattern": "^\\s*(\\d{4}-\\d{2}-\\d{2})?\\s*$",
            "type": "string",
            "description": "Use this to keep only published deals whose outbound departureDate is on or before YYYY-MM-DD (for example 2027-03-31). Must not be earlier than departureDateFrom; leave empty for no upper date bound."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 1,
            "type": "number",
            "description": "Use this to keep only deals with priceValue at or below this number in the selected market currency (for example 750 for USD 750). Must be greater than 0 when set."
          },
          "currency": {
            "title": "Market currency",
            "enum": [
              "USD",
              "EUR",
              "GBP",
              "CAD",
              "AUD",
              "INR",
              "ZAR"
            ],
            "type": "string",
            "description": "Use this to choose which Momondo country site and native currency to read for origin/destination pairs: USD (momondo.com), EUR (momondo.ie), GBP (momondo.co.uk), CAD (momondo.ca), AUD (momondo.com.au), INR (momondo.in), or ZAR (momondo.co.za). Explicit hosts in startUrls use that host's currency.",
            "default": "USD"
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Use this to cap the total deduplicated flight deal rows written to the dataset across all requested routes (1 to 200, default 20, prefill 3). One Momondo route page typically publishes 15 to 40 unique deals.",
            "default": 20
          },
          "maxRequestRetries": {
            "title": "Maximum request retries",
            "minimum": 0,
            "maximum": 4,
            "type": "integer",
            "description": "Use this to set extra access-route attempts per target if a request encounters a network error or anti-bot challenge (0 to 4, default 2).",
            "default": 2
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}