Trying to create an up-to-date database that will include data from Shopify stores.
Not sure if I can simply use the API for pulling out the data, or if I should create an app for that.
This is exactly what I do for extracting data from Shopify as well as Lightspeed Retail. A daily export from both systems, which I port into a local SQL Server DB. Makes it easier to slice and dice for reporting purposes. I also rely on the local DB for determining customer order deposits, customer in-store credit, customer in-store charge accounts, etc. Since those elements aren't granularly handled in Shopify.
There are only a couple of things that I am aware of that are tricky to get via a Shopify API versus going directly into the Shopify web front-end. One of them is determining the salesperson's name who rang a sale in Shopify POS. As well as determining the "Staff who helped with sale" that might be present (i.e. - a split sale). Otherwise it's pretty much all accessible via an API, be it the REST API or the GraphQL API.
You have to have certain permissions in order to extract any orders older than 60 days I believe. But other than that you can pull historical data based on API query parameters. The only limitation in terms of querying via the API is rate limits. Explained here --> https://shopify.dev/concepts/about-apis/rate-limits.
Best of luck in your project!