Skip to main content

Prerequisites

Before you begin, make sure you have:
An active Snip account
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

npm install axios dotenv

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