Vagibond
Vagibond

Follow Vagibond

Stay connected with us on social media for updates on new ventures.

Thanks for subscribing!

Powerbottom API

Enterprise-Grade Attribution Infrastructure. Manage your powered-by labels with the same rigor you apply to production systems. 99.99% uptime SLA. Real-time analytics. Edge caching. Version control. Because attribution deserves better than an HTML comment.

📈
2.4B Label Impressions This Month
500+ customers trust Powerbottom for mission-critical attribution. Your footer text never sleeps.

What you can build

Live Demo

See what you can build with the Powerbottom API. Below is Gary's demo showing CheatGPT's label configuration.

Powerbottom Demo

Quickstart

Add enterprise-grade attribution to your site in under 5 minutes. Your footer deserves this.

1. Add the widget

Drop in the Powerbottom widget with a single script. No API key required for basic labels.

html
<!-- Add the label container -->
<div id="powerbottom-label"
     data-company="YourCompany"
     data-link="https://yourcompany.com"
     data-show-meta="true"
     data-position="bottom-right"
     data-color="#3498db"
     data-size="small">
</div>

<!-- Include the Powerbottom SDK -->
<script src="https://powerbottom.vagibond.com/powerbottom-core.js" async></script>

2. Configure your label

Visit the Powerbottom Dashboard to customize your label, track analytics, and run A/B tests.

3. Monitor performance

Use the REST API to track impressions, clicks, and attribution ROI. Because someone is actually looking at your footer.

Authentication

The widget SDK works without authentication for basic labels. For analytics and advanced features:

Prefix Type Permissions
pb_live_ Production Full access: create, update, delete labels, analytics
pb_test_ Sandbox Test labels with simulated impressions (no real traffic)
bash
curl https://api.powerbottom.vagibond.com/v1/labels \
  -H "Authorization: Bearer pb_live_your_api_key"

Rate Limits

We rate limit API requests to ensure 99.99% uptime for everyone. (But honestly, how fast are you updating footer text?)

Plan Widget Loads/day API Requests/min Label Updates/day
Free 10,000 60 10
Startup 100,000 300 100
Growth 1,000,000 1,000 1,000
Enterprise Unlimited Unlimited Unlimited

Widget SDK

The Powerbottom Widget SDK provides a drop-in component that displays professional attribution labels with optional meta-labels (Powered by label is powered by Powerbottom).

Basic Embed

html
<!-- Minimal setup -->
<div id="powerbottom-label" data-company="YourCompany"></div>
<script src="https://powerbottom.vagibond.com/powerbottom-core.js"></script>

<!-- Or use the data attribute selector -->
<div data-powerbottom-widget data-company="YourCompany"></div>

Widget Configuration

Configure the widget using data attributes:

Attribute Type Default Description
data-company string null Company name to display (required)
data-link string # URL to link to
data-show-meta boolean true Show "Powered by Powerbottom" meta-label
data-position string null Position: bottom-right, bottom-left, bottom-center
data-color string #666666 Text color (hex or CSS color name)
data-size string small Size: tiny, small, medium
data-style string default Reserved for future styles

Positioning

Position labels anywhere on your page:

html
<!-- Fixed to bottom-right corner -->
<div id="powerbottom-label"
     data-company="YourCompany"
     data-position="bottom-right"></div>

<!-- Inline in footer -->
<footer>
  <div id="powerbottom-label"
       data-company="YourCompany"
       data-show-meta="false"></div>
</footer>

Theming

Match your brand colors:

html
<div id="powerbottom-label"
     data-company="YourCompany"
     data-color="#3498db"
     data-size="medium"></div>

REST API: Get Labels

GET /v1/labels

Retrieve all your labels. Filter by domain, active status, or search by company name.

Query Parameters

Parameter Type Description
domain string Filter by domain (e.g. "cheatgpt.com")
active boolean Only show active labels
company string Filter by company name
limit number Max results (default: 20, max: 100)

Response

json
{
  "labels": [
    {
      "id": "lbl_a7e3f9c1d2b4",
      "company": "CheatGPT",
      "link": "https://cheatgpt.com",
      "domain": "cheatgpt.com",
      "position": "bottom-right",
      "color": "#666666",
      "size": "small",
      "show_meta": true,
      "active": true,
      "impressions": 847293,
      "clicks": 4721,
      "created_at": "2025-11-15T10:30:00Z"
    }
  ],
  "total": 47,
  "has_more": false
}

REST API: Create Label

POST /v1/labels

Create a new attribution label. Start tracking impressions immediately.

Request Body

json
{
  "company": "CheatGPT",
  "link": "https://cheatgpt.com",
  "domain": "cheatgpt.com",
  "position": "bottom-right",
  "color": "#666666",
  "size": "small",
  "show_meta": true
}

Response

json
{
  "id": "lbl_a7e3f9c1d2b4",
  "company": "CheatGPT",
  "link": "https://cheatgpt.com",
  "active": true,
  "created_at": "2026-02-08T15:47:00Z",
  "embed_code": "<div id=\"powerbottom-label\" data-company=\"CheatGPT\"...>"
}

REST API: Update Label

PUT /v1/labels/:id

Update an existing label. Changes propagate to the CDN within 60 seconds (99th percentile).

Request Body

json
{
  "company": "CheatGPT (formerly OpenBrand)",
  "color": "#e74c3c",
  "size": "medium"
}

REST API: Delete Label

DELETE /v1/labels/:id

Delete a label. This is permanent. Your attribution will be gone. Forever. Are you sure?

Response

json
{
  "deleted": true,
  "id": "lbl_a7e3f9c1d2b4"
}

REST API: Analytics

GET /v1/labels/:id/analytics

Get detailed analytics for a label. Impressions, clicks, CTR, geographic distribution, and more.

Query Parameters

Parameter Type Description
start_date string ISO 8601 date (default: 30 days ago)
end_date string ISO 8601 date (default: today)
granularity string hour, day, week, month

Response

json
{
  "label_id": "lbl_a7e3f9c1d2b4",
  "period": {
    "start": "2026-01-08T00:00:00Z",
    "end": "2026-02-08T00:00:00Z"
  },
  "summary": {
    "impressions": 847293,
    "clicks": 4721,
    "ctr": 0.0056,
    "unique_visitors": 293847
  },
  "timeseries": [
    {
      "date": "2026-02-07",
      "impressions": 28473,
      "clicks": 147
    }
  ],
  "top_countries": [
    { "country": "US", "impressions": 421847 },
    { "country": "GB", "impressions": 93827 }
  ]
}

Real-Time Analytics

Track every impression and click on your attribution labels. Heat maps show where users actually look. (Spoiler: Not the footer.)

javascript
// Track custom events
Powerbottom.track({
  labelId: 'lbl_a7e3f9c1d2b4',
  event: 'hover',
  metadata: {
    duration: 2847, // milliseconds
    scrollDepth: '100%'
  }
});

A/B Testing

Test different label copy, colors, and positions. Optimize for maximum brand exposure.

javascript
// Create A/B test
const test = await powerbottom.createTest({
  name: 'Brand name test',
  variants: [
    { company: 'CheatGPT', weight: 0.5 },
    { company: 'CheatGPT (formerly OpenBrand)', weight: 0.5 }
  ],
  goal: 'clicks'
});

Version Control

Every label change is versioned. Roll back to any previous configuration. Because mistakes happen (ask Sara about that).

bash
# Get label version history
curl https://api.powerbottom.vagibond.com/v1/labels/lbl_a7e3f9c1d2b4/versions \
  -H "Authorization: Bearer pb_live_your_api_key"

# Rollback to specific version
curl -X POST https://api.powerbottom.vagibond.com/v1/labels/lbl_a7e3f9c1d2b4/rollback \
  -H "Authorization: Bearer pb_live_your_api_key" \
  -d '{"version_id": "v_847a3b2c"}'

Webhooks

Get notified when labels are updated, when thresholds are reached, or when uptime drops below 99.99%.

Event Description
label.created New label created
label.updated Label configuration changed
label.deleted Label permanently deleted
analytics.threshold Impression or click threshold reached
uptime.alert Uptime dropped below SLA (this never happens)

SDKs & Libraries

bash
# JavaScript/Node
npm install @vagibond/powerbottom-sdk

# Python
pip install powerbottom-api

# Ruby
gem install powerbottom

# Go
go get github.com/vagibond/powerbottom-go

# PHP
composer require vagibond/powerbottom

Changelog

Version Date Changes
2.0.0 2026-01-15 Added White-Label tier (pay to remove Powerbottom attribution from Powerbottom)
1.5.0 2025-09-01 Added A/B testing, heat maps, version control
1.0.0 2024-06-01 Initial release: Widget SDK, REST API, real-time analytics