GET /audience

Retrieve a list of developers who have recently interacted with specific technologies in open-source repositories.


🔑 Credits

  • Cost: 1 credit per request (only if results are returned)

Parameters

NameTypeRequiredDescription
techarray✅ YesA list of technologies to search for (e.g., tensorflow,kubernetes)
required_fieldsarray❌ NoLimit results to user profiles that include specific fields. Options include: full_name, company_country, first_name, company_industry, company_linkedin, company_website, linkedin_username, title, country, work_email, company_size, email, company_founded, company_name, last_name, emails
sincestring❌ NoOnly return results with events after this date (yyyy-mm-dd)
typesarray❌ NoFilter events by type. Options include: commit, created_branch, created_repo, created_tag, delete, forked_repo, issue_comment, issues, pull_request, push, release, star, watch
next_pagestring❌ NoPagination token to retrieve the next page of results
include_fieldsarray❌ NoBy default, profiles returned do not contain repos, commits, issues, and only events matching the tech query are returned. To receive all data for these fields, include them in this parameter e.g., repos,commits

Example

Find people that have used twilio

Request

GET https://api.b2d.ai/audience?tech=twilio&api_key=YOUR_API_KEY

Response (First Result)

{
  "next_page": "ImJsYWgi",
  "total": 32833,
  "results": [
    {
      "avatar_url": "https://avatars.githubusercontent.com/u/725813?v=4",
      "bio": "Consultant | Developer | Entrepreneur AI Agents, Devops, Drupal, Open Source, Javascript and Fly.io ",
      "blog": "http://greggcoppen.com",
      "company": "iaminawe",
      "company_country": "canada",
      "company_founded": 2000,
      "company_industry": "internet",
      "company_linkedin": "linkedin.com/company/iaminawe",
      "company_name": "iaminawe",
      "company_size": "1-10",
      "company_website": "iaminawe.com",
      "country": "canada",
      "created_at": "2011-04-12",
      "email": "gregg@iaminawe.com",
      "emails": [
        "gregg@iaminawe.com",
        "gregg@smrt1.ca"
      ],
      "first_name": "Gregg",
      "followers": 24,
      "following": 68,
      "full_name": "Gregg Coppen",
      "github_url": "github.com/iaminawe",
      "github_username": "iaminawe",
      "hireable": true,
      "last_name": "Coppen",
      "linkedin_url": "linkedin.com/in/greggcoppen",
      "linkedin_username": "greggcoppen",
      "location": "Nelson BC",
      "public_gists": 11,
      "public_repos": 125,
      "social_accounts": [
        "facebook.com/greggcoppen"
      ],
      "title": "owner, developer and animator",
      "updated_at": "2025-04-15",
      "work_email": "gregg@iaminawe.com",
      "x_url": "x.com/skabenga",
      "x_username": "skabenga",
      "signals": {
        "event_types": [
          "watch",
          "star"
        ],
        "matched_terms": [
          "twilio"
        ],
        "number_of_event_types": 2,
        "number_of_matched_terms": 1,
        "number_of_repos": 1,
        "ratio_of_matched_events_past_2_years": 0.0039,
        "ratio_of_matched_events_past_year": 0.0039,
        "repos": [
          "dubinc/dub"
        ]
      },
      "events": [
        {
          "date": "2025-01-21",
          "link": "https://github.com/dubinc/dub",
          "match": true,
          "matched_terms": [
            "twilio"
          ],
          "message": "Started watching dubinc/dub",
          "repo": {
            "created_at": "2022-08-27",
            "description": "Open-source link attribution platform. Loved by modern marketing teams like Twilio, Perplexity, Vercel, and Huberman Labs.",
            "full_name": "dubinc/dub",
            "language": "TypeScript",
            "stargazers_count": 21193,
            "topics": [
              "clickhouse",
              "mysql",
              "next-auth",
              "nextjs",
              "open-source",
              "planetscale",
              "prisma",
              "tailwindcss",
              "tinybird",
              "turborepo",
              "typescript",
              "upstash",
              "vercel"
            ],
            "updated_at": "2025-04-20"
          },
          "type": "watch"
        },
        {
          "date": "2025-01-21",
          "match": true,
          "matched_terms": [
            "twilio"
          ],
          "repo": {
            "created_at": "2022-08-27",
            "description": "Open-source link attribution platform. Loved by modern marketing teams like Twilio, Perplexity, Vercel, and Huberman Labs.",
            "full_name": "dubinc/dub",
            "language": "TypeScript",
            "stargazers_count": 21193,
            "topics": [
              "clickhouse",
              "mysql",
              "next-auth",
              "nextjs",
              "open-source",
              "planetscale",
              "prisma",
              "tailwindcss",
              "tinybird",
              "turborepo",
              "typescript",
              "upstash",
              "vercel"
            ],
            "updated_at": "2025-04-20"
          },
          "type": "star"
        }
      ]
    }
  ]
}

Paginating through results

Each response returns up to 10 profiles. If more profiles can be fetched for this query, the response will return a field next_page that can be passed into the api again to return more results. This behavior can be continued until there are no more results remaining.

Example

Make a request

GET https://api.b2d.ai/audience?tech=twilio&api_key=YOUR_API_KEY

If next_page exists in the response, use it to pull more results

GET https://api.b2d.ai/audience?tech=twilio&api_key=YOUR_API_KEY&next_page=NEXT_PAGE_VALUE

To receive consistent results, pass the same parameters you passed in the first query. The only parameter you should modify as you paginate through results is the next_page parameter.

Each next_page token is only valid for 30 seconds.

Data

Total Results The first request returns a field total, which is the total number of profiles matching the query

New Fields

Profiles that are returned include the following fields:

Full profile urls:

  • linkedin_url: the person’s linkedin url
  • x_url: the person’s x url
  • github_url: the person’s github url

Signals:

  • signals: signals you can use to determine the relevancy of the profile.
  • signals.event_types: a list of ways in which the person has interacted with the queried technologies
  • signals.matched_terms: a list of technologies in the query the person has interacted with
  • signals.number_of_event_types: the number of ways in which the person has interacted with the queried technologies
  • signals.ratio_of_matched_events_past_2_years: the ratio of the person’s interactions over the past 2 years that match the queried technologies
  • signals.ratio_of_matched_events_past_year: the ratio of the person’s interactions over the past year that match the queried technologies

Events:

  • events.match: whether the event matches the technologies queried. by default, only events matching the queried technologies are included. To include all events for profiles returned, include events in the include_fields parameter
  • events.matched_terms: technologies in the query the match the event

Examples

People who have interacted with twilio

GET https://api.b2d.ai/audience?tech=twilio&api_key=YOUR_API_KEY

People who have interacted with twilio or sendgrid

GET https://api.b2d.ai/audience?tech=twilio,sendgrid&api_key=YOUR_API_KEY

People who have interacted with twilio or sendgrid in 2025

GET https://api.b2d.ai/audience?tech=twilio,sendgrid&api_key=YOUR_API_KEY&since=2025-01-01

People who have interacted with twilio or sendgrid in 2025, who have a linkedin

GET https://api.b2d.ai/audience?tech=twilio,sendgrid&api_key=YOUR_API_KEY&since=2025-01-01&required_fields=linkedin_username

People who have interacted with twilio or sendgrid in 2025, who have a linkedin and an email

GET https://api.b2d.ai/audience?tech=twilio,sendgrid&api_key=YOUR_API_KEY&since=2025-01-01&required_fields=linkedin_username,email

People who have interacted with twilio. Include all data on their repos, commits, issues, and events

GET https://api.b2d.ai/audience?tech=twilio&api_key=YOUR_API_KEY&include_fields=repos,commits,issues,events

How to Pagine Through Results


import requests
import json

API_KEY = "YOUR_API_KEY_HERE"

# Base API parameters
params = {
    "api_key": API_KEY,
    "tech": ["twilio", "sendgrid"]
}

# Base URL
url = "https://api.b2d.ai/audience"

# Output container
results = []

# First request
response = requests.get(url, params=params)
data = response.json()

# Extract total results and first page
total_results = data.get("total", 0)
results.extend(data.get("results", []))
next_page = data.get("next_page", None)

print(f"🔍 Total results: {total_results}")

# Optional: limit pagination to max N pages
max_pages = 10
page_count = 1

# Fetch remaining pages
while next_page and page_count < max_pages:
    page_count += 1
    print(f"📄 Fetching page {page_count}")

    # Reuse params but add scroll token
    paginated_params = {
        "api_key": API_KEY,
        "next_page": next_page
    }

    response = requests.get(url, params=paginated_params)
    data = response.json()

    results.extend(data.get("results", []))
    next_page = data.get("next_page", None)

# Save to file
with open("b2d_audience_query.json", "w") as outfile:
    json.dump(results, outfile, indent=2)

print(f"✅ Saved {len(results)} records to b2d_audience_query.json")