Select a mode and click Fetch & Enrich to load product data with full details, pricing, reviews, amenities and location.
Base URL: https://data-projects-flax.vercel.app
Main API — fetches product listings and enriches each with detail, pricing, reviews, amenities, location, and images from 4 internal APIs.
| Param | Type | Default | Description |
|---|---|---|---|
format | string | csv | json or csv |
types | string | tour,holiday,cruise,yacht,visa | Comma-separated: tour, holiday, cruise, yacht, visa |
cityId | number | — | Filter to a single city (e.g. 13668 = Dubai) |
cityName | string | — | City name for the output |
countryName | string | — | Country name for the output |
productId | number | — | Fetch & enrich a single product |
productType | string | tour | Used with productId |
limit | number | 0 (all) | Max products to enrich (0 = all). Non-enriched products still returned with listing data. |
id, product_id, product_type, item_group_id
title, description, promotion_badge
link, share_url, booking_url, image_link
list_price, list_sale_price, currency
detail_price, detail_discount, detail_discounted_price, availability_status, price_variant, feed_price, feed_sale_price
country, city, city_id, address, location_name, latitude, longitude
avg_rating, review_count, reviews_excellent, reviews_very_good, reviews_average, reviews_poor, reviews_terrible
amenities, duration, pickup, transport, meals, language, group_size, hotel, nights, confirmation, cancellation
yacht_type (private/sharing), yacht_min_guests, yacht_max_guests
holiday_hotels, holiday_tours, holiday_categories
next_cruise_date, total_cruise_dates
availability, condition, brand, enriched
| Endpoint | Method | Params | Description |
|---|---|---|---|
/api/available-cities | GET | productType | List all cities with products for a given type |
/api/city/products | GET | cityId | Tour/activity listings for a city |
/api/city/holiday | GET | cityId | Holiday packages for a city |
/api/city/cruise | GET | cityId | Cruise listings for a city |
/api/city/yacht | GET | cityId | Yacht listings for a city |
/api/visas | GET | format, country | All visa products (format=csv for CSV) |
/api/all-products | GET | productType, cityId, cityName, countryName | Normalized product list for any type + city |
/api/generate-feed | GET | format, details | Full product feed (CSV/JSON). details=true adds page scraping. |
/api/get-feed | GET | — | Get cached feed from Netlify Blobs |
/api/feed-status | GET | — | Check feed generation status |
activities for tours. The enriched feed auto-converts to tour for detail API calls./api/pages, then enriches. Images are fetched from the image gallery API since the visa listing has none.tour products. Holiday/cruise/yacht/visa use the listing-level averageRating and reviewCount as fallback.options.totalPrice. Holiday/cruise use options.price. Yacht uses option.totalPrice (singular). Visa uses options.price.limit=N to only enrich the first N products (3 API calls each). Remaining products still appear with listing data only. limit=0 (default) enriches all.13668, Abu Dhabi = 13236, Ras Al Khaimah = 14070