Makcorps

How to Pull Hotel Prices for Any City with n8n and Makcorps API

By Neha Jangid 7 min read Updated

How-to-Pull-Hotel-Prices-from-Any-City-with-n8n-and-Makcorps-API.png

If you need hotel price data, you already know how tricky it can get. Travel agencies rely on it to stay competitive, market researchers depend on it for accurate insights, and businesses in the tourism sector use it to make informed decisions. The problem is, getting that data usually means hiring a developer, writing complex code, or trying to scrape sites that don’t exactly make it easy. Anyone who’s scraped travel platforms before knows how much of a headache it can be.

The good news is you don’t have to go through that. In this guide, we’ll walk you through how to pull hotel prices for any city using Makcorps API together with n8n, a no-code automation tool that makes the whole process straightforward.

And at the end, you’ll also get a blueprint of the full workflow so you don’t have to build everything from scratch.

So, let’s get started.

What You’ll Need

  • Makcorps API 
  • An n8n account
  • A Google Sheet 

If you prefer watching, here’s a short video tutorial. Otherwise, you can continue reading the step-by-step guide below.

Step 1: Get Your API Key and Understand the Requirements

Before we start pulling hotel prices, you’ll need an API key from Makcorps. The process is simple:

  1. Head over to Makcorps and sign up for an account.
  2. After registering, you’ll receive a verification email.
  3. Once you confirm your email, your API key will be sent to you with your API key.
Makcorps welcome email with a red arrow pointing to the API key

This key is what allows you to access Makcorps data and connect it with your automation in n8n. Keep it safe, you’ll need it in the steps ahead.

Now, there are two parts of the API you’ll want to check out:

The first gives you hotel prices once you have the city ID, and the second helps you find that city ID in the first place.

Take a moment to go through the documentation so you’re clear on the requirements and endpoints. Once that’s done, we’ll move on to preparing the Google Sheet where we’ll pull the data.

Step 2: Set Up Your Google Sheet

Now that you know the requirements and have your API key ready, the next step is preparing a Google Sheet to store the hotel data.

For this example, I’m pulling hotel prices for Paris, but you can replace it with any city you want. The sheet has the following columns:

  • hotel_name – the name of the hotel.
  • vendor – the platform or provider listing the price.
  • price – the cost of the hotel room.
  • review – customer review data.

I’ve named the sheet “Hotel Price List (Paris)” so it’s easy to recognise later when we connect it inside n8n.

Here’s what it looks like:

Google Sheet named 'N8N + Makcorps - Hotel Price Tracker' with empty hotel name, vendor, price and review columns

I’ve kept the sheet simple, but if you’ve gone through the API documentation, you’ll see there’s more data you can pull, like ratings, amenities, or booking links. You can add extra columns if you want to capture those as well.

Step 3: Start Building the Automation in n8n

With the API key and Google Sheet ready, it’s time to build the automation.

1. Create an account on n8n if you haven’t already.

2. Once you’re logged in, head over to the Workflows section and click on Create Workflow.

n8n overview dashboard with a red arrow pointing at the Create Workflow button

3. A new dashboard will appear. Here, you can give your workflow a clear name.

Empty n8n canvas for a new Hotel Price Tracker workflow, with a red arrow at 'Add first step'

Step 4: Add Your First Node (HTTP Request)

Inside your workflow, the first thing you’ll need to do is add an HTTP Request node. This node allows n8n to connect with the Makcorps API and fetch data. Think of it as the bridge between your workflow and the API.

n8n node search filtered to 'http', with red arrows pointing at the search box and the HTTP Request node
  1. Click on the “Add first step” box in the workflow editor.
  2. Search for HTTP Request and select it.
  3. For the first request, we’ll be using the Hotel Mapping API, because we need the city ID before we can pull prices.

Here’s how the setup looks:

In this example:

  • Method: GET
  • URL: https://api.makcorps.com/mapping
  • Query Parameters: add your API key and the city name (here it’s set to paris).

Once that’s done, click Execute Step to test the request. If everything is entered correctly, you’ll get back the city ID in the response.

n8n HTTP Request node set to GET the Makcorps mapping endpoint, annotated 'add your API key here'

Step 5: Add the Second HTTP Request for Hotel Prices

Now that you’ve pulled the city ID from the first request, it’s time to set up another HTTP Request node to fetch the actual hotel prices.

  1. Add a new node by clicking the plus (+) button in your workflow.
  2. Search for HTTP Request and select it.
  3. Use the Hotel Price API by City endpoint.

From your first request, you’ll see the document_id in the output panel. This is the city ID. Drag and drop it into the city_id field of this new request.

n8n HTTP Request node with check-in and check-out parameters added, and the hotel document ID highlighted in the response

Now, add the required query parameters step by step (don’t skip, as the API won’t work without them):

  • api_key – your Makcorps API key.
  • city_id – the city ID you just retrieved.
  • checkin – the check-in date.
  • checkout – the checkout date.
  • rooms – how many rooms you want prices for.
  • adults – how many adults are staying in those rooms.
  • cur – the currency you’d like the results in (e.g., EUR, USD, GBP).
  • pagination – for controlling the number of results per request.

Here’s an example of the endpoint in action:

https://api.makcorps.com/city?cityid=60763&pagination=0&cur=USD&rooms=1&adults=2&checkin=2023-12-25&checkout=2023-12-26&api_key=YOUR_API_KEY

And here’s what the setup looks like inside n8n:

After filling in these fields, click Execute Step. Sometimes you may need to run it twice before prices display in the output panel. When it works, you’ll see hotel details like:

  • hotel name
  • vendor (for example, Booking.com)
  • price
  • reviews (ratings and count)

Note: Always enter the parameters step by step as listed above. Missing one can cause the request to fail.

Step 6: Organize the Data with a JavaScript Node

The hotel data you get back from the API is detailed but not immediately ready for a spreadsheet. To make it usable, we’ll process it with a JavaScript Code node.

n8n JavaScript code node annotated 'add code', with the hotel price data before and after transformation
  1. Add a new node to your workflow and select Code.
  2. Choose JavaScript as the language.
  3. Copy and paste the following code into the editor:
const out = [];
items[0].json.forEach(h => {
  const priceRaw = h.price1 || "";
  const num = String(priceRaw).replace(/[^\d.]/g, "");
  const priceWithSymbol = num ? `€${num}` : ""; // change to € for Euro or any other currency
  out.push({
    json: {
      hotel_name: h.name,
      vendor: h.vendor1 || "",
      price: priceWithSymbol,
      review: h.reviews?.rating ?? null
    }
  });
});
return out;

This code does a few important things:

  • Picks out the hotel name, vendor, price, and review rating.
  • Cleans up the price so it displays with a currency symbol.
  • Structures everything neatly for the next step.

Once you hit Execute Step, check the output on the right side of the screen. You should now see clean, organised data, ready to be sent straight into your Google Sheet.

Step 7: Send the Data to Google Sheets

With the data structured, the final step is to push it into your Google Sheet.

  1. Add a new node and search for Google Sheets.
  2. From the actions, choose Append or Update Row.
  3. Connect your Google account if you haven’t already.
  4. Select your document — N8N + Makcorps – Hotel Price Tracker.
  5. Pick the sheet tab you created earlier — Hotel Price List (Paris).

Now it’s time to map the values. In the Google Sheets node, you’ll see fields for each column in your sheet. Instead of typing anything, drag and drop the values from the input panel on the left into the correct fields:

n8n 'Append or update row in sheet' node with red arrows mapping the hotel name and vendor into the sheet columns
  • Hotel Name → drag {{$json.hotel_name}}
  • Vendor → drag {{$json.vendor}}
  • Price → drag {{$json.price}}
  • Review → drag {{$json.review}}

Here’s how it looks in practice:

Once everything is mapped, click Execute Step. The node will take the values from the API output and send them into your Google Sheet, filling each column with the right information.

Google Sheet listing Paris hotels with their Booking.com price and review score

Step 8: Test, Save, and Import the Blueprint

Once your Google Sheets node is set up, run the workflow and check the data flowing into your sheet. You should now see hotel names, vendors, prices, and reviews neatly added to the right columns.

To make it easier, we’ve also prepared a blueprint of this workflow. Instead of building everything from scratch, you can simply import the file into your own n8n account:

  1. Go to your n8n dashboard.
  2. Click on the menu (three dots) in the top-right corner.
  3. Choose Import from File.
  4. Upload the blueprint JSON file.

That’s it — you’ll have the entire setup ready to use and customise for your own needs.

👉 Download the Blueprint Here

Wrapping Up:

Scraping travel sites or writing custom scripts isn’t just time-consuming, it’s frustrating. With Makcorps API and n8n, you now have a clean, automated way to track hotel prices in any city directly into a Google Sheet, requiring no code.

Ready to take the next step? Start automating your hotel price tracking today with Makcorps. Sign up now and get 30 free API calls to begin with. 

Additional Resources:

Neha Jangid

Neha Jangid

Hotel industry expert with 3+ years experience. Neha writes clear, practical content on hotel data, APIs, revenue management, and market trends that help hotels and OTAs make smarter decisions.

More articles to help you stay informed and explore related topics.

Get started

Ready to dive in?

Start off with our 30 day free trial, no credit card required! Pretty awesome right? 😎