← Back to Skills Marketplace
rakesh1002

Go2.gg

by Rakesh1002 · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
2256
Downloads
1
Stars
1
Active Installs
1
Versions
Install in OpenClaw
/install go2gg
Description
Use Go2.gg API for URL shortening, link analytics, QR code generation, webhooks, and link-in-bio pages. Use when the user needs to create short links, track clicks, generate QR codes, set up link-in-bio pages, or manage branded URLs. Free tier includes short links, QR codes, and analytics. Requires GO2GG_API_KEY env var. QR code generation is free without auth.
README (SKILL.md)

Go2.gg — Edge-Native URL Shortener

URL shortening, analytics, QR codes, webhooks, galleries (link-in-bio). Built on Cloudflare's edge network with sub-10ms redirects globally.

Setup

Get API key from: https://go2.gg/dashboard/api-keys (free, no credit card required)

export GO2GG_API_KEY="go2_your_key_here"

API base: https://api.go2.gg/api/v1 Auth: Authorization: Bearer $GO2GG_API_KEY Docs: https://go2.gg/docs/api/links


Short Links

Create, manage, and track short links with custom slugs, tags, expiration, passwords, and geo/device targeting.

Create a Link

curl -X POST "https://api.go2.gg/api/v1/links" \
  -H "Authorization: Bearer $GO2GG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "destinationUrl": "https://example.com/landing-page",
    "slug": "my-link",
    "title": "My Campaign Link",
    "tags": ["marketing", "q1-2025"]
  }'

Important: Field is destinationUrl (not url). Slug is optional (auto-generated if omitted).

Response

{
  "success": true,
  "data": {
    "id": "lnk_abc123",
    "shortUrl": "https://go2.gg/my-link",
    "destinationUrl": "https://example.com/landing-page",
    "slug": "my-link",
    "domain": "go2.gg",
    "title": "My Campaign Link",
    "tags": ["marketing", "q1-2025"],
    "clickCount": 0,
    "createdAt": "2025-01-01T10:30:00Z"
  }
}

List Links

# List all links (paginated)
curl "https://api.go2.gg/api/v1/links?perPage=20&sort=clicks" \
  -H "Authorization: Bearer $GO2GG_API_KEY"

# Search links
curl "https://api.go2.gg/api/v1/links?search=marketing&tag=q1-2025" \
  -H "Authorization: Bearer $GO2GG_API_KEY"

Query params: page, perPage (max 100), search, domain, tag, archived, sort (created/clicks/updated)

Update a Link

curl -X PATCH "https://api.go2.gg/api/v1/links/lnk_abc123" \
  -H "Authorization: Bearer $GO2GG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"destinationUrl": "https://example.com/updated-page", "tags": ["updated"]}'

Delete a Link

curl -X DELETE "https://api.go2.gg/api/v1/links/lnk_abc123" \
  -H "Authorization: Bearer $GO2GG_API_KEY"
# Returns 204 No Content

Link Analytics

curl "https://api.go2.gg/api/v1/links/lnk_abc123/stats" \
  -H "Authorization: Bearer $GO2GG_API_KEY"

Returns: totalClicks, byCountry, byDevice, byBrowser, byReferrer, overTime

Advanced Link Options

# Password-protected link
curl -X POST "https://api.go2.gg/api/v1/links" \
  -H "Authorization: Bearer $GO2GG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"destinationUrl": "https://example.com/secret", "slug": "exclusive", "password": "secure123"}'

# Link with expiration + click limit
curl -X POST "https://api.go2.gg/api/v1/links" \
  -H "Authorization: Bearer $GO2GG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"destinationUrl": "https://example.com/flash", "expiresAt": "2025-12-31T23:59:59Z", "clickLimit": 1000}'

# Geo-targeted link (different URLs per country)
curl -X POST "https://api.go2.gg/api/v1/links" \
  -H "Authorization: Bearer $GO2GG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "destinationUrl": "https://example.com/default",
    "geoTargets": {"US": "https://example.com/us", "GB": "https://example.com/uk", "IN": "https://example.com/in"}
  }'

# Device-targeted link + app deep links
curl -X POST "https://api.go2.gg/api/v1/links" \
  -H "Authorization: Bearer $GO2GG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "destinationUrl": "https://example.com/default",
    "deviceTargets": {"mobile": "https://m.example.com"},
    "iosUrl": "https://apps.apple.com/app/myapp",
    "androidUrl": "https://play.google.com/store/apps/details?id=com.myapp"
  }'

# Link with UTM parameters
curl -X POST "https://api.go2.gg/api/v1/links" \
  -H "Authorization: Bearer $GO2GG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "destinationUrl": "https://example.com/product",
    "slug": "summer-sale",
    "utmSource": "email",
    "utmMedium": "newsletter",
    "utmCampaign": "summer-sale"
  }'

Create Link Parameters

Field Type Required Description
destinationUrl string yes Target URL to redirect to
slug string no Custom slug (auto-generated if omitted)
domain string no Custom domain (default: go2.gg)
title string no Link title
description string no Link description
tags string[] no Tags for filtering
password string no Password protection
expiresAt string no ISO 8601 expiration date
clickLimit number no Max clicks allowed
geoTargets object no Country → URL mapping
deviceTargets object no Device → URL mapping
iosUrl string no iOS app deep link
androidUrl string no Android app deep link
utmSource/Medium/Campaign/Term/Content string no UTM parameters

QR Codes

Generate customizable QR codes. QR generation is free and requires no auth.

Generate QR Code (No Auth Required)

# Generate SVG QR code (free, no API key needed)
curl -X POST "https://api.go2.gg/api/v1/qr/generate" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://go2.gg/my-link",
    "size": 512,
    "foregroundColor": "#1a365d",
    "backgroundColor": "#FFFFFF",
    "cornerRadius": 10,
    "errorCorrection": "H",
    "format": "svg"
  }' -o qr-code.svg

# PNG format
curl -X POST "https://api.go2.gg/api/v1/qr/generate" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com", "format": "png", "size": 1024}' -o qr-code.png

QR Parameters

Field Type Default Description
url string required URL to encode
size number 256 Size in pixels (64-2048)
foregroundColor string #000000 Hex color for modules
backgroundColor string #FFFFFF Hex color for background
cornerRadius number 0 Module corner radius (0-50)
errorCorrection string M L (7%), M (15%), Q (25%), H (30%)
format string svg svg or png

Save & Track QR Codes (Auth Required)

# Save QR config for tracking
curl -X POST "https://api.go2.gg/api/v1/qr" \
  -H "Authorization: Bearer $GO2GG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Business Card QR", "url": "https://go2.gg/contact", "linkId": "lnk_abc123"}'

# List saved QR codes
curl "https://api.go2.gg/api/v1/qr" -H "Authorization: Bearer $GO2GG_API_KEY"

# Download saved QR
curl "https://api.go2.gg/api/v1/qr/qr_abc123/download?format=svg" \
  -H "Authorization: Bearer $GO2GG_API_KEY" -o qr.svg

# Delete QR
curl -X DELETE "https://api.go2.gg/api/v1/qr/qr_abc123" -H "Authorization: Bearer $GO2GG_API_KEY"

Webhooks

Receive real-time notifications for link clicks, creations, and updates.

# Create webhook
curl -X POST "https://api.go2.gg/api/v1/webhooks" \
  -H "Authorization: Bearer $GO2GG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Click Tracker", "url": "https://your-server.com/webhook", "events": ["click", "link.created"]}'

# List webhooks
curl "https://api.go2.gg/api/v1/webhooks" -H "Authorization: Bearer $GO2GG_API_KEY"

# Test webhook
curl -X POST "https://api.go2.gg/api/v1/webhooks/wh_abc123/test" \
  -H "Authorization: Bearer $GO2GG_API_KEY"

# Delete webhook
curl -X DELETE "https://api.go2.gg/api/v1/webhooks/wh_abc123" \
  -H "Authorization: Bearer $GO2GG_API_KEY"

Events: click, link.created, link.updated, link.deleted, domain.verified, qr.scanned, * (all)

Webhook payloads include X-Webhook-Signature (HMAC SHA256) for verification. Retries: 5s → 30s → 2m → 10m.


Galleries (Link-in-Bio)

Create link-in-bio pages programmatically.

# Create gallery
curl -X POST "https://api.go2.gg/api/v1/galleries" \
  -H "Authorization: Bearer $GO2GG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug": "myprofile", "title": "My Name", "bio": "Creator & developer", "theme": "gradient"}'

# Add link item
curl -X POST "https://api.go2.gg/api/v1/galleries/gal_abc123/items" \
  -H "Authorization: Bearer $GO2GG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type": "link", "title": "My Website", "url": "https://example.com"}'

# Add YouTube embed
curl -X POST "https://api.go2.gg/api/v1/galleries/gal_abc123/items" \
  -H "Authorization: Bearer $GO2GG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type": "embed", "title": "Latest Video", "embedType": "youtube", "embedData": {"videoId": "dQw4w9WgXcQ"}}'

# Publish gallery (makes it live at go2.gg/bio/myprofile)
curl -X POST "https://api.go2.gg/api/v1/galleries/gal_abc123/publish" \
  -H "Authorization: Bearer $GO2GG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"isPublished": true}'

# Reorder items
curl -X PATCH "https://api.go2.gg/api/v1/galleries/gal_abc123/items/reorder" \
  -H "Authorization: Bearer $GO2GG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"itemIds": ["item_3", "item_1", "item_2"]}'

# List galleries
curl "https://api.go2.gg/api/v1/galleries" -H "Authorization: Bearer $GO2GG_API_KEY"

Themes: default, minimal, gradient, dark, neon, custom (with customCss) Item types: link, header, divider, embed (youtube), image


Python Example

import requests

API_KEY = "go2_your_key_here"  # or os.environ["GO2GG_API_KEY"]
BASE = "https://api.go2.gg/api/v1"
headers = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}

# Create short link
resp = requests.post(f"{BASE}/links", headers=headers, json={
    "destinationUrl": "https://example.com/product",
    "slug": "my-product",
    "title": "Product Link",
    "tags": ["product"]
})
link = resp.json()["data"]
print(f"Short URL: {link['shortUrl']}")

# Get analytics
stats = requests.get(f"{BASE}/links/{link['id']}/stats", headers=headers).json()["data"]
print(f"Clicks: {stats['totalClicks']}")

# Generate QR (no auth needed)
qr = requests.post(f"{BASE}/qr/generate", json={"url": link["shortUrl"], "size": 512, "format": "png"})
with open("qr.png", "wb") as f:
    f.write(qr.content)

API Endpoint Summary

Service Endpoint Method Auth
Links create /api/v1/links POST yes
Links list /api/v1/links GET yes
Links get /api/v1/links/:id GET yes
Links update /api/v1/links/:id PATCH yes
Links delete /api/v1/links/:id DELETE yes
Links stats /api/v1/links/:id/stats GET yes
QR generate /api/v1/qr/generate POST no
QR save /api/v1/qr POST yes
QR list /api/v1/qr GET yes
QR download /api/v1/qr/:id/download GET yes
Webhooks /api/v1/webhooks CRUD yes
Webhook test /api/v1/webhooks/:id/test POST yes
Galleries /api/v1/galleries CRUD yes
Gallery items /api/v1/galleries/:id/items CRUD yes
Gallery publish /api/v1/galleries/:id/publish POST yes

Rate Limits

Plan Requests/min
Free 60
Pro 300
Business 1000

Error Codes

Code Description
SLUG_RESERVED Slug is reserved
SLUG_EXISTS Slug already in use on this domain
INVALID_URL Destination URL is invalid
LIMIT_REACHED Plan's link limit reached
DOMAIN_NOT_VERIFIED Custom domain not verified
Usage Guidance
This skill appears to be a straightforward integration with go2.gg, but the manifest metadata omits the GO2GG_API_KEY requirement that the SKILL.md clearly uses. Before installing: 1) Confirm whether the platform will prompt you to supply GO2GG_API_KEY (and where that key will be stored). 2) Only provide a key with the minimum privileges needed and be prepared to rotate it if you stop using the skill. 3) If you don’t want the agent to call external services autonomously, request or configure disable-model-invocation (or equivalent) so actions require explicit user approval. 4) Review the full SKILL.md to ensure no additional unexpected network calls are present and verify you trust go2.gg for handling your shortened URLs and analytics data.
Capability Analysis
Type: OpenClaw Skill Name: go2gg Version: 1.0.0 The skill bundle is benign. It provides documentation and examples for interacting with the Go2.gg API for URL shortening, QR code generation, and related services. All network calls are directed to the legitimate `https://api.go2.gg` domain, and file system access is limited to saving generated QR code images locally, which is consistent with its stated purpose. There is no evidence of prompt injection attempts against the agent, unauthorized data exfiltration, malicious execution, persistence mechanisms, or obfuscation in `SKILL.md` or `_meta.json`.
Capability Assessment
Purpose & Capability
SKILL.md clearly documents a Go2.gg integration (create/update/delete links, analytics, QR generation) and requires an API key (GO2GG_API_KEY) for most operations. That capability matches the name/description. However the registry metadata lists no required environment variables or primary credential, which contradicts the SKILL.md and is an incoherence.
Instruction Scope
The runtime instructions are instruction-only curl examples targeting api.go2.gg endpoints and explicitly reference the Authorization header using GO2GG_API_KEY. The instructions do not ask the agent to read unrelated local files or other environment variables. They will transmit user-supplied URLs and the API key to the go2.gg API as expected for this service.
Install Mechanism
No install spec and no code files — the skill is instruction-only, which minimizes on-disk risk. There is nothing being downloaded or installed by the skill manifest.
Credentials
SKILL.md requires GO2GG_API_KEY for authenticated operations, but the registry metadata lists no required env vars or primary credential. This mismatch could cause the agent to not surface a credential prompt in UI or assume the key is available in environment unexpectedly. The API key will be sent to api.go2.gg; that is proportionate for the described functionality but must be explicitly declared.
Persistence & Privilege
always is not set (good), but disable-model-invocation is also not set, so the model could invoke this skill autonomously. That is typical for API integrations but means the agent could make outbound requests to api.go2.gg without an explicit, per-use user confirmation if the platform allows it.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install go2gg
  3. After installation, invoke the skill by name or use /go2gg
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release — URL shortening, link analytics, QR code generation, webhooks, link-in-bio galleries. Full API coverage with cURL + Python examples.
Metadata
Slug go2gg
Version 1.0.0
License
All-time Installs 1
Active Installs 1
Total Versions 1
Frequently Asked Questions

What is Go2.gg?

Use Go2.gg API for URL shortening, link analytics, QR code generation, webhooks, and link-in-bio pages. Use when the user needs to create short links, track clicks, generate QR codes, set up link-in-bio pages, or manage branded URLs. Free tier includes short links, QR codes, and analytics. Requires GO2GG_API_KEY env var. QR code generation is free without auth. It is an AI Agent Skill for Claude Code / OpenClaw, with 2256 downloads so far.

How do I install Go2.gg?

Run "/install go2gg" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Go2.gg free?

Yes, Go2.gg is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Go2.gg support?

Go2.gg is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Go2.gg?

It is built and maintained by Rakesh1002 (@rakesh1002); the current version is v1.0.0.

💬 Comments