dev3lopcom, llc, official logo 12/8/2022

Connect Now

Are you eager to start sending Instagram data to Google Big Query using Node.js and have not found snippets of code needed to connect the dots?

First, you’ll need to register as a developer on the Instagram API platform and obtain an access token. You can use this access token to authenticate your requests to the Instagram API and retrieve data from your Instagram account or a public Instagram account.

Once you have the data you want to export from Instagram, you can use the BigQuery API to create a new dataset and table in your BigQuery project. You can then use the API to load the data from Instagram into the table.

To use the Instagram and BigQuery APIs, you’ll need to install the necessary packages in your Node.js environment. For the Instagram API, you can use the instagram-private-api package. For the BigQuery API, you can use the @google-cloud/bigquery package.

You can use the Node.js request module or a similar package to make HTTP requests to the Instagram API and retrieve the data you want to export. You can then use the @google-cloud/bigquery package to authenticate your requests to the BigQuery API and load the data into your BigQuery table.

Once you have the data in BigQuery, you can use SQL queries to analyze and manipulate the data as needed.

Here is an example of how you could use the instagram-private-api and @google-cloud/bigquery packages to export data from Instagram to Google BigQuery in Node.js:

const InstagramPrivateAPI = require('instagram-private-api');
const {BigQuery} = require('@google-cloud/bigquery');

async function exportData() {
  // Replace these values with your own
  const username = 'your_username';
  const password = 'your_password';
  const projectId = 'your_project_id';
  const datasetId = 'your_dataset_id';
  const tableId = 'your_table_id';

  // Authenticate to Instagram and retrieve data
  const device = new InstagramPrivateAPI.Device(username);
  const storage = new InstagramPrivateAPI.CookieFileStorage(`${__dirname}/cookies/${username}.json`);
  const session = await InstagramPrivateAPI.Session.create(device, storage, username, password);

  // Use the Instagram API to retrieve data
  const feed = new InstagramPrivateAPI.Feed.AccountFollowers(session);
  const data = [];
  let page = feed.iterate();
  while (true) {
    const {value} = await page.next();
    if (!value) {
      break;
    }
    data.push(value);
  }

  // Initialize the BigQuery client
  const bigquery = new BigQuery({
    projectId: projectId
  });

  // Load the data into a BigQuery table
  const options = {
    schema: 'name:string,username:string,profile_picture:string',
    createDisposition: 'CREATE_IF_NEEDED',
    writeDisposition: 'WRITE_APPEND',
  };
  const [job] = await bigquery
    .dataset(datasetId)
    .table(tableId)
    .load(data, options);

  console.log(`Job ${job.id} completed.`);
}

exportData();

Your code authenticates to Instagram using the instagram-private-api package and retrieves data from the user’s followers. It then uses the @google-cloud/bigquery package to create a new table in a BigQuery dataset and load the data into the table.

Keep in mind that you’ll need to replace the placeholder values in the code with your own Instagram username, password, and BigQuery project, dataset, and table IDs. You’ll also need to ensure that you have the necessary packages installed and that you have set up authorization for the BigQuery API.