$100 free credit on sign-up, no card. Link data from $0.0001 per call.

ASEOTools
ASEOToolsGet $100 free

Step-by-step setup

Domain rating tool setup for a sheet and a cron job

A workflow nobody has to remember beats one everybody means to do. Six steps get you from a blank sheet to a monthly job that logs its own cost.

Six steps, about an hour

01

Sign in and copy the key

Use the Google sign-in at /auth/google.php. The dashboard at /account.php holds your key, which starts with sk_ and arrives with $100 in credit.

02

Make one free test call

Run the overview action with no key against your own domain. If you get JSON with ok set to true, the network path works.

03

Build the domain list

One column in a sheet, one domain per row, no https and no paths. Up to 2,000 rows go in a single bulk_dr request.

04

Call bulk_dr from the sheet or a script

Send the list as a comma-joined GET value or as a POST body. Store the reply in a second tab with a date column.

05

Schedule it monthly

Run the job a few days after the first of the month, once the monthly index refresh has landed. A cron line is enough. Check the first month's output by hand against three domains you know well.

06

Log credits and alert on low balance

Every authenticated reply carries _credits with the cost and the remaining balance. Write both to a log row and email yourself below a threshold you choose.

The pieces, ready to paste

Swap in your own key and file names.

bash
# crontab: 06:00 on the 4th of each month
0 6 4 * * /usr/bin/curl -s -X POST \
  -H "Authorization: Bearer sk_live_..." \
  -d "domains=$(paste -sd, domains.txt)" \
  "https://aseotools.com/api.php?action=bulk_dr" >> dr_log.jsonl
Keep the key out of the sheet

Put the key in Apps Script properties, an environment variable or your automation tool's credential store. Anyone with edit access to a sheet can read a key typed into a cell, and a leaked key spends your credit.

Where this setup fails

Silence is the usual failure. A cron job that errors out looks the same as one that worked.

Check the HTTP code. A 401 means the key is missing or wrong, and a 402 means the credit ran out, so alert on either one and fix it before the next month's report is due.

Remember also that pagination is capped at 50,000 rows deep, and that bulk_dr takes up to 2,000 domains per call. Longer lists need chunking, which is one extra loop and costs one credit per chunk.

Test by hand first. Run the cron line in a terminal, read the log file, and check that the balance dropped by exactly the cost you expected. Then see how the numbers compare to a suite plan and decide how often to run it.

Version your domain list. Keep the file in a repository or a shared drive with history, so that when a number changes in March you can see whether the list changed too. Add a note column for domains you added on purpose, such as a new competitor or a client who signed in the month. Treat the list as data with an owner, because the cheapest bug is the one you spot in a diff.

Cost of the whole routine, with example sizes

Hypothetical list sizes, published action prices.
List sizeCalls per monthCreditsDollars
200 domains11$0.0001
5,000 domains33$0.0003
5,000 domains plus 20 full backlink pulls2343$0.0043

Setup questions

Does a Google Sheet work as the client?

Yes. The API is plain REST with open CORS and JSON replies, so Apps Script or an IMPORTDATA-style call can reach it. Keep the key in script properties rather than in a cell that collaborators can read.

Can I use this with n8n or Make?

Yes, through a normal HTTP request node. Pass the key as an Authorization Bearer header, parse the JSON reply, and write the _credits field to your log so you can see spend per run.