App Guides. how to use the apps of traveller.org
Guides / Amapas 353 Competitive Price Agent / The weekly run ‹ Amapas 353 Competitive Price Agent

The weekly run

What one run does, how to check it worked, and how to start a run yourself.

The tool is built to run automatically once a week on GitHub — the service that stores the project — so nobody has to start it or keep a computer on.

The automatic weekly run is switched off for now. It has not yet recorded a real price: it first needs a way to reach Airbnb that Airbnb does not block (a paid proxy, saved in GitHub). The website admin’s Price Agent Setup page lists every step and which are done. Until then it runs only when someone starts it by hand (below). This page will say so when the weekly run is back on.

What one run does

  1. Checks the proxy first, so a missing or empty proxy account is caught before any time is spent. It never signs in to Airbnb: it reads only what anyone sees without an account.
  2. Gets the list of stays to price from the website. The owners’ date windows on the admin’s Rates screen decide it:
    • A holiday window of nine days or fewer is priced on its own dates.
    • Every other window is priced once a week for the next eight weeks, then every second week, up to six months ahead.
    • A season is priced as 5-night stays, or as 3-night stays when the owners have listed it as a short season.
    • No stay starts sooner than a week ahead, because most hosts do not accept a booking for the coming days.
  3. Prices the stays. It loads each watched listing’s page for each stay. When a listing asks for more nights than the stay has, the tool asks once more for that many nights and keeps that price.
  4. Recalculates the recommendations for the one-bedroom, season by season.
  5. Rewrites the spreadsheet mirror — the Observations and Rate Recommendations tabs.
  6. Saves the updated price history in a place of its own inside the project (a separate branch called pricing-data), so the weekly save never changes the live website, and prints a health summary.
  7. Skips pictures, video and fonts on every page it visits. It only needs the words and numbers, and skipping the rest keeps each visit small.
  8. Uses a real browser. Each visit is made by Google Chrome in an ordinary window — on a screen that exists only inside GitHub’s computer — and the browser says exactly what it is, rather than pretending to be something else.

A full run prices about 20 stays and takes about three hours. For each listing and stay it also records why there was no price: the dates were booked, or the listing asked for a longer stay.

A listing that Airbnb has removed is loaded once in a run, reported as no longer on Airbnb, and listed on the admin’s Price Check screen for the owners to stop watching.

If the list of stays cannot be fetched, the run uses its older pattern instead (13 upcoming weeks, one Friday-to-Wednesday stay each) and says so in its log.

A run that finishes green has recorded real prices. The tool refuses to finish successfully when almost every listing came back empty — that pattern almost always means Airbnb turned the visits away, so the run stops and reports failure instead.

When a run stops, it keeps a few sample pages: the first pages that showed no price, and one that did. Each is saved three ways — the page, the words the tool read from it, and a picture of it — so you can see what Airbnb sent back.

Checking on a run

What you do

  1. Open the project’s repository page on github.com and sign in.
  2. Click the Actions tab near the top of the page.
  3. In the list on the left, click Weekly price scrape.
  4. The newest run is at the top of the list. A green check means it recorded prices; a red cross means it stopped.
  5. To see why a run stopped, click it, then click the scrape job to read its log. The final lines say what went wrong in plain terms.
  6. To see the sample pages, open the run and scroll to Artifacts at the bottom of its summary page.
  7. Click sample-pages to download them as a zip file, then open the pictures (the files ending in .png).

The sample pages are kept for 14 days, and only people who can see the project on GitHub can open them. A run you start yourself always keeps them, even when it succeeds, so you can compare its prices with what you see on Airbnb.

If a run is red, the “When something goes wrong” page covers the two usual causes — the proxy not answering, and Airbnb turning the visits away.

Starting a run yourself

You can run the scrape at any time without waiting for Monday. The first time the project is set up — and any time the proxy details have just changed — it is worth doing a small run first: two stays instead of the full list. If they come back with real prices, the setup works; if it fails, you have spent very little and the failure message says what to fix.

What you do

  1. Open the project’s repository page on github.com and sign in.
  2. Click the Actions tab.
  3. Click Weekly price scrape in the list on the left.
  4. Click the Run workflow button on the right.
  5. In the small form that opens, leave everything alone for a normal full run. For a small test run, type 2 in the first box, Search only the first N stays of the plan.
  6. Click the green Run workflow button in the form.
  7. The run appears at the top of the list within a few seconds. Click it to watch progress; a small test run takes about twenty minutes.

Please do not run it more often than weekly

Once a week is a deliberately light touch — about three hundred page visits with a pause between each one. Running it hourly, or many times a day, is exactly the pattern that gets automated visitors blocked, and would put the proxy’s addresses at risk of being turned away. When you need an extra run — after changing the proxy details, or before a pricing decision — one manual run is fine. A habit of hammering it is not.