npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@taskmagic/apps-linkdrip

v0.0.2

Published

Branded short links and link management with [LinkDrip](https://linkdrip.com) — API docs: https://docs.linkdrip.com/apis/introduction

Downloads

293

Readme

LinkDrip

Branded short links and link management with LinkDrip — API docs: https://docs.linkdrip.com/apis/introduction

The API is REST under https://api.linkdrip.com/v1 and authenticated with a Bearer token: Authorization: Bearer <API key>, alongside accept: application/json.

  • Actions: Create Link, Get Link, Update Link, Delete Link.
  • Triggers: none — see below.

Connection: sign in at app.linkdrip.com, click your user avatar in the top right corner, choose Settings, navigate to API Keys, and click Generate API Key. Click the key area to copy it (the eye icon reveals it). Paste it into the connection. The Public API is a Professional ($14/mo) or Business ($49/mo) feature — the Basic ($9/mo) plan does not include API access, so a Basic account cannot use this piece. The connection is verified with a single GET /v1/status call.

Notes

  • The API is in beta. LinkDrip's own docs carry the banner "The API is still in beta and is subject to changes." Field names and behaviour may move without notice.
  • Four endpoints is the whole API. LinkDrip documents exactly five routes — GET /status plus create, get, update and delete for a single link — and all four link routes are shipped here. There is no list-links endpoint, no clicks or analytics endpoint, and nothing for domains, campaigns, pixels or QR codes. None of those are implemented because none exist.
  • No triggers, and that is a hard constraint, not a choice. LinkDrip publishes no webhooks, and a polling trigger is not buildable either: there is no list endpoint to poll, no created-at or updated-at timestamp on any response to order or dedupe by, and GET /v1/{id} requires you to already know the short code. Chain Create Link off whatever trigger produces the URL instead.
  • The docs' PUT/DELETE examples are missing /v1. They print https://api.linkdrip.com/xUas9. That unversioned path is not routed and answers 403 {"message":"Forbidden"} from the gateway. Every request this piece makes goes to https://api.linkdrip.com/v1/....
  • There is no id in any response. The only place a link's short code appears is on the end of short_link (https://drp.li/xUas9). All four actions parse it out and return it as an extra id field so the next step in a flow can feed it straight into Get / Update / Delete. If you set a Custom ID when creating the link, that is the id. The Link ID input also accepts a full short link and will extract the code for you.
  • Update never blanks a field you left alone. Every attribute on PUT /v1/{id} — including target_url — is optional, so Update Link omits every blank field from the request body. A partial update therefore cannot wipe UTM parameters or preview metadata you did not touch. If you fill in nothing at all the step fails locally rather than sending an empty body, which LinkDrip answers with a bare HTTP 502.
  • Update re-reads the link. PUT responds with only { "success": true } and no data, so the action follows up with a GET /v1/{id} and returns the link's current state. That makes Update Link cost two API calls. If the update changed the Custom ID, the follow-up read uses the new code.
  • Errors are keyed off success, not the HTTP status. LinkDrip's statuses are inconsistent for the same failure: one invalid key returns HTTP 500 from GET /v1/status but HTTP 401 from POST /v1/create and GET /v1/{id}. Every response — success or failure — carries { "success": <bool>, "message": "..." }, so this piece reads that envelope and surfaces message verbatim. A 2xx carrying success: false is still treated as a failure.
  • Empty attributes are omitted from responses. The docs state the API "returns only existing values", so a link that has no UTM parameters comes back without those keys at all rather than with nulls. Guard downstream steps accordingly — only short_link and target_url are dependable.
  • Custom domains, projects and workspaces must already exist. custom_domain has to be a domain this account owns and has activated; project_name and workspace_name must name an existing project/workspace owned by the account. LinkDrip errors otherwise. Omitting them files the link in the personal space's default project.
  • Custom IDs must be unique. Reusing one that already exists is an error, not an overwrite.
  • Title / Description / OG Image are Open Graph metadata overrides. LinkDrip populates them automatically from the target URL when they are left blank; set them only when you need to control the preview yourself.
  • Delete is irreversible. DELETE /v1/{id} removes the link permanently and it stops resolving immediately. The action returns the deleted link's attributes so a flow can keep a record, but LinkDrip cannot restore it.
  • Rate limits are unknown. LinkDrip documents no rate limit and describes no rate-limit response headers. HTTP 429 is handled with a slow-down message if it ever appears, but there is no published budget to design a flow around.
  • No custom API call action. A passthrough would hand this connection's API key to any URL a flow supplies, and the documented API is fully covered by the four actions above.