Hi,
for instagram you could start by writing your own simple script. Public profiles informations are easy to get thru the combination of the url and the username. Even a simple wget-command from the command line of a unix system would download a profile page e.g. wget URL.
Instead of downloading the file I would check up some simple python oder perl tutorials to work with http-request to get an object instead of an file.
Most important part of the downloaded webpage or the object is the part behind "window._sharedData =" (you could use your Browser and look at the page source code and search for this term. Behind the equal sign you will find a nearly endless part between the brackets. The JSON data.
You can use a online tool (search for json online viewer) and paste the text string with the brackets to see a structured view for the data (see screenshot example.png).
The easiest way to store the data would be a mongodb because of the simple addition of json files. On the other hand I do not know which queries you are planning to execute which could be a bit more difficult in mongo.
Every scripting or programming language you choose should be able to:
1. Loop a list of namens
2. Excecute a http-Request
3. Extract the relevant JSON-Data (search for Term, use beautyfulsoup with python, ...)
4. Store it either in a structured way or unstructured as the json
Example Data included in the json:
Name, Amount followers, amount following, urls, urls to profile pictures but also media information from the last 12 posts (comments each post, ...)
Best luck
mf