LinkSense
FeaturesPricingDocs
Sign InGet Started
LinkSense

Smart dynamic mobile links for the modern web

Product

  • Features
  • Pricing
  • Documentation
  • QR Code Generator

Company

  • About
  • Contact
  • Privacy
  • Terms
  • Refund Policy
  • Cookie Policy

Support

  • Help Center
  • Report abuse
LinkSense.net — Featured on Product HuntLinkSense.net — Featured on Product HuntLinkSense — Featured on Smol LaunchLinkSense — Featured on Smol LaunchLinkSense — Featured on FazierLinkSense — Featured on FazierLaunched onTiny StartupsLinkSense — As seen on Smashing Startups

© 2026 Informacijske storitve BACK2PIXELS, Jan Kokalj s.p. All rights reserved.

Getting Started

Introduction

Core Features

ProjectsDynamic LinksURL ShorteningSocial PreviewsLanding PagesAnalytics

Deep Linking

iOS Deep LinkingAndroid Deep Linking

Account & Billing

Plans & Billing

Migration

Firebase Migration

API Reference

API OverviewAPI Endpoints
DocsAPI ReferenceAPI Overview
API Reference

API Overview

Manage your projects, dynamic links, and app registrations programmatically via the LinkSense REST API.

Introduction

The LinkSense REST API gives you programmatic access to all resources in your account — projects, dynamic links, iOS apps, and Android apps. Every action available in the dashboard can also be performed through the API, making it straightforward to integrate LinkSense into your CI/CD pipelines, internal tooling, or backend services.

Requests are authenticated using API keys scoped to your account. All responses are JSON, with the single exception of the QR-code endpoint, which returns an image.

Which parts need Pro

API access itself is available on every plan — generate a key and start making requests. Individual capabilities are plan-gated and answer 403 FORBIDDEN_PLAN: short links and deferred deep linking require Pro. Your plan’s project and link quotas apply to API writes exactly as they do in the dashboard.

Base URL

All API requests are made to the following base URL. Append the endpoint path to this URL for each request.

https://linksense.net/api/v1

Authentication

Authenticate every request by including your API key as a Bearer token in the Authorization header. API keys begin with ls_live_.

Authorization header
text
Authorization: Bearer ls_live_your_api_key_here
Generating API keys

Generate and manage your API keys from Dashboard › Settings › API Keys. Treat your keys like passwords — never commit them to source control or expose them in client-side code.

Rate Limits

The API enforces a limit of 60 requests per minute per API key. If you exceed this limit, the API returns a 429 Too Many Requests response. Each response includes the following headers so you can track your usage:

FieldTypeRequiredDescription
X-RateLimit-LimitnumberNoMaximum number of requests allowed per window.
X-RateLimit-RemainingnumberNoNumber of requests remaining in the current window.
X-RateLimit-ResetnumberNoTimestamp in milliseconds since the Unix epoch at which the current window resets.
Retry-AfternumberNoSeconds to wait before retrying. Sent only on 429 responses.

Response Format

All successful responses wrap the result in a data envelope. Error responses use an error envelope with a machine-readable code and a human-readable message.

Success response
json
{
"data": {
"id": "abc123",
"name": "My Project",
"subdomain": "my-project",
"created_at": "2024-01-01T00:00:00Z"
}
}
Error response
json
{
"error": {
"code": "NOT_FOUND",
"message": "The requested resource does not exist."
}
}

Failures that have more to say carry a details field: validation errors list the offending fields, and plan gates report which plan is required.

Error response with details
json
{
"error": {
"code": "INVALID_INPUT",
"message": "Validation failed",
"details": [
{
"code": "too_big",
"path": ["social_title"],
"message": "Social title must be 200 characters or less"
}
]
}
}

Error Codes

The API uses consistent error codes across all endpoints. Use the code field in error responses to handle specific failure cases in your integration.

FieldTypeRequiredDescription
INVALID_INPUT400NoRequest body or query parameter validation failed.
FORBIDDEN_FIELD400NoThe request included a field that is not allowed.
UNAUTHORIZED401NoAPI key is missing, invalid, or has been revoked.
AUTH_REQUIRED401NoAuthentication is required for this request.
ACCESS_DENIED403NoThe resource belongs to another account, or access was otherwise denied.
FORBIDDEN_PLAN
HTTP status codes

The Type column above shows the HTTP status code returned for each error. Always check the HTTP status first, then use the code field for precise error handling.

Quick Example

Here is a minimal example that lists your projects using cURL. Replace the API key with your own from the dashboard.

List projects
bash
curl -H "Authorization: Bearer ls_live_abc123..." \
https://linksense.net/api/v1/projects

Ready to explore all available endpoints? Continue to the API Endpoints reference.

API EndpointsBrowse all available endpoints for projects, links, and apps.Plans & BillingUpgrade to Pro to unlock API access.
PreviousFirebase MigrationNextAPI Endpoints

On this page

IntroductionBase URLAuthenticationRate LimitsResponse FormatError CodesQuick Example
403
No
Your plan doesn't include this feature. Upgrade to Pro for API access.
FORBIDDEN_CROSS_SCOPE403NoThe referenced resource belongs to a different project or account.
NOT_FOUND404NoThe requested resource does not exist.
IOS_APP_NOT_FOUND404NoThe iOS app referenced by ios_app_id does not exist in the project.
ANDROID_APP_NOT_FOUND404NoThe Android app referenced by android_app_id does not exist in the project.
SUBDOMAIN_TAKEN409NoThe subdomain is already in use by another project.
CUSTOM_PATH_EXISTS409NoA link with this custom path already exists in the project.
SLUG_EXISTS409NoA resource with this slug already exists.
BUNDLE_ID_EXISTS409NoAn iOS app with this bundle ID already exists in the project.
PACKAGE_NAME_EXISTS409NoAn Android app with this package name already exists in the project.
LINKED_REFERENCES409NoThe app cannot be deleted because it is referenced by one or more dynamic links.
RATE_LIMITED429NoYou have exceeded the rate limit. Wait until the window resets.