Uploaded April 2023 | Updated September 2026, 2 weeks ago
Not every Web-based product has an API, and when it doesn't, you can create a browser automation wrapper so you can still call it from the command-line just like it did have an API. This is my first pass at this sort of thing on MOZ, though I've done it plenty with both ahrefs and SEMRush in the past. Now I work for MOZ so now MOZ gets all the love. This demonstrates it working from a Jupyter Notebook where I developed it, and also in a WSL Linux command-line, and then on a headless cloud server, which happens to be an LXD container image on my home NAS. The automation is accomplished with Microsoft Playwright.
Not every Web-based product has an API, and when it doesn't, you can create a browser automation wrapper so you can still call it from the command-line just like it did have an API. This is my first pass at this sort of thing on MOZ, though I've done it plenty with both ahrefs and SEMRush in the past. Now I work for MOZ so now MOZ gets all the love. This demonstrates it working from a Jupyter Notebook where I developed it, and also in a WSL Linux command-line, and then on a headless cloud server, which happens to be an LXD container image on my home NAS. The automation is accomplished with Microsoft Playwright.





