You need at least to run a full node.
You also need to index properties that the users might search (such as all addresses, transactions, block heights, which a full node does not do by default)
Accoring to blockchair (
https://blockchair.com/dumps), it's entire database with indexes is 900 GB (compared to ~250 GB for the raw blockchain alone)