Developers
Integrations without the BS
You need to create short links from a script, a CI pipeline, or your app. You don’t want to read a 47-page quickstart guide, install an SDK, or set up OAuth to do it.
It should take about 30 seconds.
API key, curl, done
curl -X POST https://nobsredir.com/api/workspaces/ws_abc/links \ -H "X-API-Key: nobs_your_key" \ -H "Content-Type: application/json" \ -d '{"target":"https://yoursite.com/page","domain":"go.yourco.com"}'That’s the whole integration. You get back JSON with the short URL. Needing a client library to make one POST request is a sign something went wrong.
Full API on every plan
Create links, read stats, manage domains, bulk create, CSV import - all via REST. Same endpoints on free and paid. “API access requires Enterprise” is one of the worst things to happen to developer tools.
Bulk create and import
Up to 100 links in one request with the bulk endpoint. Or import up to 500 from CSV - including Bitly exports, auto-detected. Migrating between tools should take minutes, not a weekend.
One auth method, zero confusion
API key in the X-API-Key header. Workspace-scoped, owner-level access, shown once at creation. That’s the whole auth story. No OAuth dance, no token refresh, no scopes to configure. Auth should be a solved problem, not a recurring one.
Webhooks - react to everything
Your links don’t exist in a vacuum. When something happens - link created, link broken, domain verified - you probably want another system to know about it.
Set up a webhook, pick the events you care about, and we’ll POST to your endpoint. HMAC-signed, with delivery logs you can inspect.
Slack alerts for broken links
Subscribe to link.broken and link.recovered. When a monitored link starts returning errors, your team knows before your customers do.
app.post("/webhooks/nobsredir", (req, res) => { const event = JSON.parse(req.rawBody);
if (event.type === "link.broken") { slack.send({ channel: "#ops", text: `🔴 Broken link: ${event.data.short_url} → ${event.data.target} (HTTP ${event.data.status_code})` }); }
if (event.type === "link.recovered") { slack.send({ channel: "#ops", text: `🟢 Link recovered: ${event.data.short_url}` }); }
res.status(200).send("OK");});Sync new links to a spreadsheet
Subscribe to link.created. Every time someone on your team creates a link, it shows up in your tracking sheet automatically. No copy-paste, no “did you add it to the spreadsheet?”
@app.route("/webhooks/nobsredir", methods=["POST"])def handle_webhook(): event = request.get_json()
if event["type"] == "link.created": sheets.append_row([ event["data"]["short_url"], event["data"]["target"], event["data"].get("title", ""), event["timestamp"], ])
return "OK", 200Auto-notify on campaign activity
Subscribe to link.created and link.deleted, then filter by tag in your handler. Your marketing channel gets a message every time someone touches a campaign link. Audit trail built into Slack.
Full webhook docs: Webhook API reference.
AI agents via MCP
noBS redir has a built-in MCP server. Not a chatbot wrapper - an actual tool server that any agent framework can call programmatically. Your agents get 12 tools, 3 resources, and 4 prompt workflows they can chain into larger systems.
{ "mcpServers": { "nobsredir": { "type": "streamable-http", "url": "https://nobsredir.com/mcp", "headers": { "X-API-Key": "nobs_your_api_key_here" } } }}Content publishing pipeline
Your CMS publishes a new article. An agent picks it up and handles the distribution end-to-end:
- Creates tracked short links for each channel (newsletter, Twitter, LinkedIn, paid) with per-channel UTM params
- Feeds the links into your scheduling tool (Buffer, Hootsuite, whatever has an API)
- Sets up an A/B test if you have two headline variants
- After 48 hours, checks which channel drove the most clicks and posts a summary to your team’s Slack
The agent isn’t waiting for you to type a prompt. It’s triggered by a CMS webhook, runs the full workflow, and reports back. noBS redir is one tool in the chain - the agent also talks to your CMS, your scheduler, and your notification system.
E-commerce release orchestrator
You’re launching a product across multiple markets. An agent coordinates the whole link infrastructure:
- Reads the product catalog from your store’s API
- Creates geo-routed short links - US visitors go to
.com, EU to.eu, APAC to the region-specific store - Tags everything with the launch name and product SKU
- Generates QR codes for packaging and print materials
- Monitors the target URLs for broken links. If the product page goes down during launch, the agent catches it via
link.brokenwebhooks and alerts your on-call channel before customers notice
A week after launch, the agent pulls analytics by tag, compares channels, and generates a report showing which markets and referrers drove the most traffic. Your marketing team gets data without logging into anything.
Agency client onboarding
You run an agency. A new client signs up. An agent handles the setup:
- Creates a client workspace via the API
- Sets up their branded domain (adds the DNS instructions to the onboarding email)
- Imports their existing links from a CSV export of their old tool
- Configures webhook notifications so your team gets alerted when client links break
- Creates a set of initial campaign links with the client’s UTM conventions
- Generates a welcome report: “Here are your 47 imported links, your new domain is ready, and here’s how to use them”
The agent handles the tedious 30-minute manual process in seconds. And it does it the same way every time - no steps forgotten, no inconsistent naming.
CI/CD deploy hooks
Your deploy pipeline finishes. A post-deploy agent:
- Creates tracked links for the changelog, release notes, and migration guide
- Tags them with the version number
- Posts the links to your release channel in Slack
- If it’s a marketing page deploy, sets up an A/B test between the old and new version
- After a few days, checks the A/B test results and reports which version is winning
The link infrastructure is part of the deploy - not something someone remembers to do manually (or doesn’t).
Full MCP docs: MCP server reference. Help page: Using agents.
What we left out on purpose
No GraphQL (but hey, never say never). No SDK in 12 languages - okay fine, we do have a Win32 assembly one and an ArnoldC one. Don’t ask. No rate limit tiers that change every quarter.
REST + JSON + an API key is enough for a URL shortener. If you disagree, we’re probably not the right tool for you, and that’s fine.
Start for free - full API access on every plan. API docs.