🐍Python

Learn how to integrate Airstack APIs to your Python-based application using the Airstack Python SDK.

🐍 Python

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

Table Of Contents

Step 0: Pre-requisites

Step 1: Install Airstack Python SDK

Use a package manager to install the Airstack Python SDK into your Python project:

pip install airstack

Step 2: Set Environment Variable

Create a new .env file:

touch .env

Add the Airstack API key as the environment variable:

AIRSTACK_API_KEY=YOUR_AIRSTACK_API_KEY

Install python-dotenv package to your project:

pip install python-dotenv

and import it into your Python project to inject the environment variables:

index.py
from dotenv import load_dotenv

load_dotenv()

Step 3: Create API Client

Wrap your application or React component with AirstackClient from the SDK to initialize it with the Airstack API key:

index.py
import os
from airstack.execute_query import AirstackClient

api_key = os.environ.get("AIRSTACK_API_KEY")
if api_key is None:
  raise Exception("Please set the AIRSTACK_API_KEY environment variable")

api_client = AirstackClient(api_key=api_key)

Step 4: Call Your Query

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

Below you have been provided with Airstack query to fetch the 0x address, Lens, and Farcaster owned by vitalik.eth:

For more query examples, check out Guides for various use cases you can build with Airstack.

index.py
import asyncio
from airstack.execute_query import AirstackClient

query = """
query MyQuery {
  Socials(
    input: {filter: {dappName: {_eq: farcaster}}, blockchain: ethereum, order: {profileCreatedAtBlockTimestamp: DESC}, limit: 200}
  ) {
    Social {
      profileName
      userAddress
      userAddressDetails {
        xmtp {
          isXMTPEnabled
        }
      }
    }
  }
}
"""



async def main():
  execute_query_client = api_client.create_execute_query_object(query=query)
  query_response = await execute_query_client.execute_query()
  data = query_response.data
  error = query_response.error
  if query_response.error is not None:
    raise Exception(error.message)

  print(data)

asyncio.run(main())

The data variable will return and logged into your terminal as follows:

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

Developer Support

If you have any questions or need help regarding integrating Airstack into your Python application, please join our Airstack's Telegram group.

More Resources

Learn to build more with Airstack using our tutorials:

Last updated

Was this helpful?