If your budget is limited, then the best solution is to find a free expired domain name. This way you will only have to pay for the registration of the domain name (usually about ten euros, depending on the registrar used, the domain name extension, etc.).
To find expired domain names, you will have to proceed in steps: find sites that you are going to scrape (which means that you will automatically browse through them), scrape the sites, evaluate the domain names you have found.
Where to find available expired domain names?
There are many places where you can find expired domain names. In absolute terms, on every site you visit, there may be links to expired domain names.
Nevertheless, I advise you to start by targeting the sources that you will use to find expired domain names.
For example, you can start scraping your competitors’ sites. Indeed, what could be better than having a link directly from the people who are shadowing you?
To do so, make a list of the priority keywords you target, then for each of them, you list the 10 most relevant results (by effectively evacuating some results that may stand out in Google but that would not necessarily be relevant, such as Amazon pages or other big sites that manage to position themselves on queries only because of their power).
It is also possible to scrape sites that are authoritative in your domain. These can be suppliers, customers, associations related to your industry, etc.
You can also scrape forums dealing with your topic, but also blogs, etc…
This type of site has the advantage of providing domain names that will generally be very well themed.
You can also choose to find domain names that are less or not themed but which may be more powerful.
In this case, target authority sites. These may be official sites for towns, general councils, political parties, large companies, etc.
If you choose this option, the sites you find will probably have no connection with your sector of activity, and will have to be completely recontextualized.