How to scrape travel attractions data from Queensland.com using the Minexa API
- Minexa.ai

- Jul 9
- 2 min read
Queensland.com lists hundreds of tours, activities, and experiences across the state. Each listing card carries a company name, a full activity description, a cover image, booking links, and a unique product identifier. Getting all of that into a structured dataset manually is not realistic at any meaningful scale.
This walkthrough shows how to extract that data using the Minexa API. You train a scraper once through the Minexa Chrome extension, then call the API programmatically to pull listings at scale.
Step 1: Open the Minexa dashboard
Start at the Minexa home page. This is where your scrapers and jobs are managed.
Step 2: Navigate to the target page
Go to the Queensland.com accommodation detail page. The attraction carousel on this page is what the scraper targets.
Step 3: Confirm the page in the extension
Open the extension popup and click 'I'm on the right page' to tell Minexa where to begin detection.
Step 4: Review pagination detection
Minexa identifies the pagination pattern on the page. Review the detected pages and click Continue to proceed. Note that when using the API, you will need to handle pagination by writing a JS scenario that defines what to click.
Step 5: Choose list or list-plus-detail
Decide whether to extract only the listing cards or also follow each internal link to scrape the full detail page per attraction.
Step 6: Select scraping mode and create the scraper
Choose simple or advanced mode, highlight the data container, and create the scraper. Minexa locks onto the repeating card structure automatically.
Step 7: Review extracted fields
After the scraper is created, all detected data points appear with next/prev navigation. Key fields include company_name, activity_description, image_url, external_link, internal_link, and product_sku.
The external_link field encodes a redirect URL through the ATDW network. Embedded inside it is a Base64-encoded JSON payload carrying the listing ID, distributor ID, and API key ID per attraction card. The product_sku field gives you a stable alphanumeric identifier per listing, useful for deduplication or cross-referencing booking systems. The card_class field distinguishes promoted listings from standard ones via a CSS class string.
Sample extracted data
[{"company_name":"Cork n Fork Winery Tours","short_description":"Providing winery and food tours since March 2000...","image_url":"https://assets.atdw-online.com.au/images/41c7cc9a8b1ffffc0dc466715ed16a0d.jpeg","internal_link":"/au/en/things-to-do/tours/p-62c37e12c385f6b70ac25f9e-cork-n-fork-winery-tours","product_sku":"62c37e12c385f6b70ac25f9e"},{"company_name":"Jet Ski Safaris","short_description":"With no experience required and no licence needed...","image_url":"https://assets.atdw-online.com.au/images/6397c8556f27cfef87c961becac75106.jpeg","internal_link":"/au/en/things-to-do/tours/p-56b2655fd5f1565045da8811-jet-ski-safaris","product_sku":"56b2655fd5f1565045da8811"}]Step 8: Get the API request code
The extension generates a ready-to-run Python snippet. Call https://api.minexa.ai/data with your scraper ID and target URLs. Here is the basic structure:
import requests
response = requests.post(
'https://api.minexa.ai/data',
headers={'x-api-key': 'YOUR_API_KEY'},
json={'scraper_id': 7341, 'columns': 'top_20', 'urls': ['https://www.queensland.com/...']}
)
print(response.json())Once the job finishes, data is available for export as Excel or JSON. Each attraction card becomes one row, with every detected field in its own column.
To get started, visit minexa.ai and install the Chrome extension to train your first scraper.

Comments