Prerequisites
Before you begin, make sure you have:
Your API key (from Profile → API Keys)
Basic knowledge of REST APIs
Step 1: Set Up Your Environment
Store your API key securely using environment variables:
SNIP_API_KEY=your_api_key_here
SNIP_BASE_URL=https://snip.sa/api
Step 2: Install Dependencies
Step 3: Create Your First Short URL
require('dotenv').config();
const axios = require('axios');
const API_KEY = process.env.SNIP_API_KEY;
const BASE_URL = process.env.SNIP_BASE_URL;
async function createShortUrl() {
try {
const response = await axios.post(`${BASE_URL}/urls`, {
originalUrl: 'https://example.com/my-long-url',
title: 'My First Short URL',
tags: ['test']
}, {
headers: {
'Content-Type': 'application/json',
'X-API-Key': API_KEY
}
});
const { url, domain } = response.data.data;
const shortUrl = `${domain.shortUrl}/${url.shortCode}`;
console.log('✅ Short URL created:', shortUrl);
console.log('📊 URL ID:', url._id);
return response.data;
} catch (error) {
console.error('❌ Error:', error.response?.data || error.message);
}
}
createShortUrl();
Step 4: Retrieve Your URLs
async function getMyUrls() {
const response = await axios.get(`${BASE_URL}/urls`, {
params: {
page: 1,
limit: 20,
sortBy: 'createdAt',
sortOrder: 'desc'
},
headers: {
'X-API-Key': API_KEY
}
});
console.log(`Found ${response.data.data.pagination.total} URLs`);
return response.data;
}
Step 5: Track Analytics
async function getAnalytics(urlId) {
const response = await axios.get(`${BASE_URL}/analytics/${urlId}`, {
headers: {
'X-API-Key': API_KEY
}
});
const { totalClicks, uniqueClicks, topCountries } = response.data.data;
console.log(`Total Clicks: ${totalClicks}`);
console.log(`Unique Clicks: ${uniqueClicks}`);
console.log('Top Country:', topCountries[0]);
return response.data;
}
Next Steps