"Data API or BigQuery?" sounds like a tooling question. It is really a question about your answer: what it must contain, and what it must mean.
Google's comparison of reporting surfaces sets out the core difference. The Data API works like GA4's reports, including Google's added calculations. BigQuery holds exported event and user-level data without them. So work through four checks in order, and stop at the first one that decides the matter. Why the numbers differ has its own post. This one covers how that difference should steer your choice.
The examples here are hypothetical. Nothing below was run on a real property.
First check: do you need a summary or the rows behind it?
Write the header of the table you want to end up with. If each row is a date, channel, page or country with metrics beside it, the API can probably return it.
If each row must be one event or one visitor's sequence, you need BigQuery. The API's list of dimensions has no user pseudo ID or client ID, and custom dimensions must be registered on the property before you can request them. The export schema keeps event parameters, user properties and items as fields on each event, including parameters you defined yourself.
Order checks sit near the line. The API offers transactionId, so a daily list of orders may fit. Once you need the parameters or the events around an order, it no longer does.
