// connections

RB2B

Read the website visitors RB2B identified in the last 90 days: who they are, where they work and the page they were on. Connect with an RB2B API key on a Pro or Pro+ plan.

0 mcp tools1 operationsvendor sync
rest
https://api.superagnt.com/v1/connections/rb2b plus the vendor's own path, with your superagnt_ API key as Authorization: Bearer.
mcp
Tools named connection_rb2b_* on https://mcp.superagnt.com/mcp, served once the account is connected.
billing
RB2B bills your own account. Calls cost no superagnt_ data credits.
rate limit
0.33 requests a second, 20 a minute: the vendor's ceiling as the registry records it, for sizing bursts. Your plan's own limit is on Connections.
sync
Can copy 2 tables into your workspace database and keep them fresh: the tables.

The RB2B connection lets an agent read the people RB2B identified on your website through RB2B's Profiles API: name, title, company, business email, LinkedIn URL, company size and revenue, location, the page they were last seen on, the referrer, and the tags your RB2B rules set (for example Hot Lead or ICP). It has one tool, connection_rb2b_list_profiles. The tool only reads, so a superagnt_ agent runs it without asking.

one shared rate budget

RB2B allows 20 requests per minute per key and 60 requests per minute per IP address, counted across every key. superagnt_ calls RB2B from shared servers, so every superagnt_ workspace connected to RB2B draws on that same 60 per minute. Read 100 profiles per call and never poll in a tight loop. A refused call comes back as RATE_LIMITED: back off, then retry with the same cursor.

01

Setup

  1. Check your RB2B plan. The API needs RB2B Pro or Pro+ (trials of those plans work). Free and Starter accounts, and cancelled, past-due or unpaid subscriptions, are refused with api_access_not_allowed.
  2. Copy your RB2B API key. In RB2B open My Account → Account Details → Account Settings and copy the API key. It starts with r_live_. Each RB2B account has one key, and regenerating it revokes the old one, so paste the new key on the connection's page if you ever do.
  3. Connect RB2B. In the superagnt app open Integrations, pick RB2B, and paste the key.

02

Things to know

connection_rb2b_list_profiles returns identified visitors, newest first by when they were last seen:

one page of profilesjson
{
  "profiles": [
    {
      "id": 123456789,
      "LinkedIn URL": "https://www.linkedin.com/in/example",
      "First Name": "Jane",
      "Last Name": "Doe",
      "Title": "VP Marketing",
      "Company Name": "Acme",
      "Business Email": "jane@acme.com",
      "Website": "https://acme.com",
      "Industry": "Software",
      "Employee Count": "51-200",
      "Estimate Revenue": "$10M-$50M",
      "City": "Austin",
      "State": "TX",
      "Zipcode": "78701",
      "Seen At": "2026-10-08T14:03:00Z",
      "Referrer": "https://www.google.com/",
      "Captured URL": "https://yoursite.com/pricing",
      "Tags": "Hot Page, Hot Lead"
    }
  ],
  "next_cursor": "eyJpZCI6MTIzNDV9"
}

The values above are illustrative. Field names contain spaces and are case-sensitive, and Tags is one comma-separated string.

  • One profile per person, with the latest visit only. It is not a page-view log. RB2B sends earlier page views only through its webhook, which you set up in the RB2B app (there is no API for it). The webhook payload carries no profile id, so match its rows on LinkedIn URL.
  • 90 days of history. since and until filter on when a visitor was last seen, and since cannot be more than 90 days back. Older history exists only as a CSV export from the RB2B app.
  • No lookups or company filters. There is no single-profile lookup and no industry, size or revenue filter. List by time and match on Business Email or LinkedIn URL yourself.
  • Paging. Each call returns up to limit profiles (1 to 100, default 25). While next_cursor is not null, pass it back unchanged as cursor, with the same since, until and limit. A null next_cursor is the last page, and there is no total count. To read only what is new, start again without a cursor and set since to the time of your last read.
  • The connection does not cover RB2B's OEM partner endpoints (managing domains and reading credit usage), which only OEM partner accounts can call.

Errors

RB2B answersYou getWhat to do
401 missing_api_key, invalid_api_key_format or invalid_api_keyPROVIDER_ERROR, HTTP 401The key is wrong, or it was regenerated or deleted in RB2B. Paste the current key on the connection's page.
403 api_access_not_allowedPROVIDER_ERROR, HTTP 403The RB2B account is not on Pro or Pro+, or its subscription is cancelled, past due or unpaid.
429 rate_limitedRATE_LIMITED, HTTP 429The key's limit or the shared per-IP budget is used up. Back off, then retry with the same cursor.

Over MCP, the tool result carries RB2B's own code in upstreamError (with limit_per_minute on a 429). Over REST only the HTTP status and the superagnt_ code and message come back.

03

Examples

Read the latest identified visitors

latest visitorsbash
curl "https://api.superagnt.com/v1/connections/rb2b/profiles?limit=100" \
  -H "Authorization: Bearer $AGNTDATA_API_KEY"

Read visitors seen since a point in time

visitors since a datebash
curl "https://api.superagnt.com/v1/connections/rb2b/profiles?since=2026-10-01T00:00:00Z&limit=100" \
  -H "Authorization: Bearer $AGNTDATA_API_KEY"

Fetch the next page

next pagebash
curl "https://api.superagnt.com/v1/connections/rb2b/profiles?since=2026-10-01T00:00:00Z&limit=100&cursor=$NEXT_CURSOR" \
  -H "Authorization: Bearer $AGNTDATA_API_KEY"

04

Sync

An RB2B sync copies the visitors RB2B identifies into tables in your workspace database and keeps them fresh, so agents read local tables instead of paging RB2B on every run. Turn it on from the Sync panel on the RB2B connection page in the superagnt app. The panel previews the rows and webhook events against your plan before anything is created. How syncs work in general: Vendor sync.

How updates arrive. Profiles are polled by last-seen time. Page views exist only from RB2B's webhook, because RB2B's API has no page views, so views sent while the webhook is off are lost.

Set up the webhook in RB2B. RB2B has no API for webhooks, so you paste the sync's webhook URL into RB2B yourself. Once the sync is on, the Sync panel shows the URL in a copyable field next to these steps (on a workspace MCP connection, agnt_sync_status returns it as ingest_url):

  1. Open the webhook settings. In RB2B, open Integrations, then Webhook.
  2. Paste the URL. Paste the URL from the Sync panel and save.
  3. Send every page view. Turn on Send repeat visitor data so every page view arrives, not just the first.
  4. Test it. Click Send a Test Event. The Sync panel shows it within a minute.

one webhook per account

RB2B allows one webhook per account. If yours already points at another tool, replacing it stops that tool's feed.

The Sync panel reports the webhook's health: waiting for the first event, receiving events, or no events since a given time while RB2B keeps identifying visitors, which can mean RB2B switched the webhook off. Re-enable it under Integrations → Webhook in RB2B. Polling keeps the profiles current meanwhile. Turning the sync off and on again issues a new URL to paste.

Plans and scope.

  • RB2B's API needs the Pro or Pro+ plan. On a lower plan the sync is refused before anything is created, with the plan as the reason.
  • RB2B serves at most 90 days of history, whatever the history setting says, and the preview says so.
  • RB2B limits requests per key and per IP, so the sync paces itself to 40 a minute across every superagnt_ workspace, which leaves room for your agents' RB2B calls. Synced RB2B data stays in your own workspace database.
05// sync tables

What a RB2B sync copies

A sync copies these tables into your workspace database and keeps them fresh, so an agent reads local rows instead of calling RB2B on every run. Turn tables on and off from the Sync panel on the connection. Every table also carries _raw, _hash, _synced_at and _deleted_at. How syncs work: Vendor sync.

beta

The RB2B sync is built from RB2B's API documentation and has not been verified against a live RB2B account yet. A field the documentation does not show stays in each row's _raw column.
TableWhat it holdsDefault
rb2b_profiles

Identified visitors

Every visitor RB2B identified, with their company and their latest visit. RB2B keeps 90 days on its API, so the sync starts with at most the last 90 days.on
rb2b_page_views

Page views

One row per page view RB2B sends to the webhook (every visit when Send repeat visitor data is on). RB2B's API has no page views, so these exist only from the webhook, and views sent while it was off are lost. Kept for 90 days by default.on
06// mcp tools

0 tools, one per resource and risk

MCP servers and agents on the grouped surface list RB2B as these tools. Each takes an action, and the ones that work across record types an object. Every operation also keeps its own per-operation name, in the next table, which works on every server. How grouping works: Grouped tools.

ToolRiskActions
07// operations

All 1 operations

Each operation is a REST path under https://api.superagnt.com/v1/connections/rb2b and an MCP tool. The per-operation tool name is the one permissions, approvals and usage records use.

OperationMCP tool
GET/profiles

List identified website visitors

connection_rb2b_list_profilesgrouped servers list it under this name