Airstack Developer Docs & FAQs
  • ℹ️Introduction
Powered by GitBook
  1. Quickstart & SDKs

Next.js (Browser)

Learn how to integrate Airstack APIs to your Next.js client-side (browser) application, using the Airstack Web SDK.

Last updated 7 months ago

Was this helpful?

In this tutorial, you will learn how to start integrating API into your Next.js application.

Table Of Contents

Step 0: Pre-requisites

  • Completed

  • Git

  • Node v.16+

Step 1: Install Airstack Web SDK

Use a package manager to install the into your Next.js project:

npm install @airstack/airstack-react
yarn add @airstack/airstack-react
pnpm install @airstack/airstack-react

Step 2: Set Environment Variable

Create a new .env file:

touch .env
NEXT_PUBLIC_AIRSTACK_API_KEY=YOUR_AIRSTACK_API_KEY

Step 3: Initialize SDK

_app.tsx
import { init, AirstackProvider } from "@airstack/airstack-react";

export default function App({ Component, pageProps }) {
  return (
    <AirstackProvider apiKey={process.env.NEXT_PUBLIC_AIRSTACK_API_KEY ?? ""}>
      <Component {...pageProps} />
    </AirstackProvider>
  )
};
_app.jsx
import { init, AirstackProvider } from "@airstack/airstack-react";

export default function App({ Component, pageProps }) {
  return (
    <AirstackProvider apiKey={process.env.NEXT_PUBLIC_AIRSTACK_API_KEY ?? ""}>
      <Component {...pageProps} />
    </AirstackProvider>
  )
};

Step 4: Call Your Query

Once you have initialized the SDK, you can use the useQuery to call the Airstack API.

index.tsx
import { useQuery } from "@airstack/airstack-react";

interface QueryResponse {
  data: Data | null;
  loading: boolean;
  error: Error | null;
}

interface Data {
  Wallet: Wallet;
}

interface Error {
  message: string;
}

interface Wallet {
  socials: Social[];
  addresses: string[];
}

interface Social {
  dappName: "farcaster";
  profileName: string;
}


const query = `
query MyQuery {
  Wallet(input: {identity: "vitalik.eth", blockchain: ethereum}) {
    socials {
      dappName
      profileName
    }
    addresses
  }
}
`;

const Component = () => {
  const { data, loading, error }: QueryResponse = useQuery<Data>(query, {}, { cache: false });

  if (loading) {
    return <p>Loading...</p>;
  }

  if (error) {
    return <p>Error: {error.message}</p>;
  }

  // Render your component using the data returned by the query
  console.log(data);
}

export default Component;
index.jsx
import { useQuery } from "@airstack/airstack-react";

const query = `
query MyQuery {
  Wallet(input: {identity: "vitalik.eth", blockchain: ethereum}) {
    socials {
      dappName
      profileName
    }
    addresses
  }
}
`;

const Component = () => {
  const { data, loading, error } = useQuery(query, {}, { cache: false });

  if (loading) {
    return <p>Loading...</p>;
  }

  if (error) {
    return <p>Error: {error.message}</p>;
  }

  // Render your component using the data returned by the query
  console.log(data);
};

export default Component;

The data variable will return and logged into your browser's console as follows:

{
  "data": {
    "Wallet": {
      "socials": [
        {
          "dappName": "farcaster",
          "profileName": "vitalik.eth"
        }
      ],
      "addresses": ["0xd8da6bf26964af9d7eed9e03e53415d37aa96045"]
    }
  }
}

Developer Support

More Resources

Learn to build more with Airstack using our tutorials:

  • Resolve Identities

  • Wallet API Reference

Add the as the environment variable:

Wrap your component with the AirstackProvider from the SDK to initialize it with the :

Below you have been provided with Airstack query to fetch the 0x address and Farcaster owned by :

If you have any questions or need help regarding integrating into your Next.js client side application, please join our Airstack's group.

🚀
⏭️
Airstack API key
Airstack API key
vitalik.eth
Airstack
Telegram
Web SDK Reference
Airstack
Get API Key
Airstack Web SDK
Step 0: Pre-requisites
Step 1: Install Airstack Web SDK
Step 2: Set Environment Variable
Step 3: Initialize SDK
Step 4: Call Your Query