Developer Hub

Build on trust data.

Use the shipped widgets on the front end, then use the API, webhooks, and bot where you need backend checks or automation. This is the real VerifyUGC integration stack today.

Free public reads ยท 100 calls/day with a key ยท no card required

Everything you need

Jump straight to the widgets, bot, reference, or key management. Every link goes to a real, working destination.

Partner embed pack

If you run a marketplace, directory, hiring flow, or community portal, the honest path is to compose the pieces that already ship. No white-label magic, no hidden review status.

1. Put trust on the page

Use /widget/trust.js
  • One public VerifyUGC handle per embed
  • Best for creator rows, listings, and profile pages
  • Links back to the live VerifyUGC profile
See badge embed docs

2. Let users self-check before a deal

Use /widget.js
  • Generic trust-check card with its own input
  • Fits deal rooms, intake forms, and seller vetting flows
  • Platform hint supports Roblox, UEFN, and Minecraft
See trust-check docs

3. Add backend checks only where needed

Use the API, webhooks, and bot
  • Single and batch blacklist checks
  • Public profile and trust-score reads
  • Discord-side enforcement with the bot
Read the API reference
Claim to actual: there is no white-label "officially verified" flag here, no private creator data feed, and no irreversible approval state. The embeds and read APIs expose live public VerifyUGC trust data, and the bot handles community enforcement.

Quick start

Create a free key in the Developer tab, then try a public lookup with q. This built-in sample returns demo data, not a real account. Use a username, handle or ID for your own searches.

curl "https://verifyugc.dev/v1/public/blacklist/check?q=scammer_example" \
  -H "Authorization: Bearer YOUR_API_KEY"
// npm install @verifyugc/sdk  โ€” or just use fetch:
const res = await fetch(
  "https://verifyugc.dev/v1/public/blacklist/check?q=scammer_example",
  { headers: { Authorization: "Bearer YOUR_API_KEY" } }
);
const data = await res.json();
console.log(data.platforms); // Sample platform results
import httpx

r = httpx.get(
    "https://verifyugc.dev/v1/public/blacklist/check",
    params={"q": "scammer_example"},
    headers={"Authorization": "Bearer YOUR_API_KEY"},
)
print(r.json()["platforms"])  # Sample platform results

Core endpoints Full reference →

The API-key blacklist and webhook routes below require eligible developer access. Free accounts can start with the public lookup above and manage webhooks in the dashboard. See the complete reference for route-specific authentication and requirements.

Check a single account by platform handle or ID. Pass provider (roblox | discord | epic | minecraft) and id.

GET https://verifyugc.dev/v1/blacklist/check?provider=roblox&id=12345678
Authorization: Bearer YOUR_API_KEY

// 200 โ€” clean
{"provider":"roblox","id":"12345678","banned":false,"checked_at":"2026-06-22T00:00:00.000Z"}

// 200 โ€” listed
{"provider":"roblox","id":"12345678","banned":true,"severity":"high","scope":"global","reason_code":"fraud","checked_at":"2026-06-22T00:00:00.000Z"}

Check up to 50 accounts in one call; results come back in input order. Requires Pro or higher.

POST https://verifyugc.dev/v1/blacklist/check/batch
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{"accounts":[{"provider":"roblox","id":"12345678"},{"provider":"discord","id":"987654321012345678"}]}

// 200
{"results":[{"provider":"roblox","id":"12345678","banned":false},{"provider":"discord","id":"987654321012345678","banned":true,"severity":"high","reason_code":"impersonation"}],"checked_at":"2026-06-22T00:00:00.000Z"}

Get a creator's public profile: Trust Score, verification level, linked accounts, reviews, and deal history.

GET https://verifyugc.dev/v1/users/pinefruit
Authorization: Bearer YOUR_API_KEY

// 200
{"handle":"pinefruit","display_name":"Pine","verification_level":2,"verification_label":"Verified","trust_score":182,"trust_band":"trusted","linked_accounts":["roblox","discord"],"blacklisted":false,"profile_url":"https://verifyugc.dev/@pinefruit"}

The composite Trust Score (0-250) plus the public basis behind it: verification, account age, linked accounts, completed deals, and reviews. Ideal for a pre-deal check.

GET https://verifyugc.dev/v1/users/pinefruit/trust
Authorization: Bearer YOUR_API_KEY

// 200
{"handle":"pinefruit","trust_score":182,"trust_band":"trusted","basis":{"verification_level":2,"account_age_days":540,"linked_accounts":2,"completed_deals":31}}

Register an HTTPS URL to receive real-time events. Events: blacklist.added, blacklist.overturned, deal.confirmed, deal.declined, creator.blacklisted. The signing secret is returned once.

POST https://verifyugc.dev/v1/webhooks
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{"url":"https://yourserver.com/hook","events":["blacklist.added"]}

// 201
{"id":"wh_01H...","url":"https://yourserver.com/hook","events":["blacklist.added"],"secret":"whsec_...","warning":"Store this secret โ€” shown once."}

Plans & rate limits

Daily quotas apply to public API requests and are shared by your account's keys. Public lookups also have endpoint and IP burst limits. Start free; upgrade from the dashboard when you need more capacity or paid API features.

Free

$0
100 public calls / day
  • Public blacklist & trust lookups
  • Two API keys
  • Manage webhooks in your dashboard
Get an API key

Pro

$5 one-time
500 public calls / day
  • Everything in Free
  • Batch checks (โ‰ค50/call)
  • Manage webhooks through the API
  • Higher daily quota
Upgrade in dashboard

Max

$10 /mo
5,000 public calls / day
  • Everything in Pro
  • Higher daily quota
  • Ten API keys
Upgrade in dashboard
When you hit the limit: keyed public requests over your account's daily quota return 429 Too Many Requests with Retry-After and X-RateLimit-Remaining headers. The daily counter resets at midnight UTC. Individual endpoints can also return 429 for their own burst limits.

Need more volume, or a vetted write-scoped partner integration? Start with Free, Pro, or Max for public read access, then talk to us on Discord if your use case needs the reviewed partner path.

Compare all plans & billing →

Developer FAQ

Pass your API key as a Bearer token in the Authorization header: Authorization: Bearer YOUR_API_KEY. Create and rotate keys from your dashboard's Developer tab.

Requests over the daily quota return a 429 Too Many Requests with a Retry-After header; the counter resets at midnight UTC. See Plans & rate limits for per-tier quotas.

Yes. @verifyugc/sdk on npm is a typed Node/TypeScript client with built-in retries. You can also call the REST API directly with any HTTP client.

Use the widgets for front-end trust signals, then add the API or bot only where you need backend checks, bulk lookups, or enforcement. Start with the widget docs. If you later need a vetted write-scoped partner path, contact us on Discord.