Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Promise-based Node.js URL Shortener backed by Mongoose.js

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 models
Octocat-spinner-32 test
Octocat-spinner-32 .travis.yml
Octocat-spinner-32 LICENSE
Octocat-spinner-32 package.json
Octocat-spinner-32 paige.config

Short Build Status

NodeJS URL Shortener backed by MongooseJS w/ Examples

Notes migrating to 1.0.0+

NOTE: If you've used any version of Short before 1.0.0, please note the new API. This is a finalized API & with the previous API structure being incompatible with Short 1.0.0+

Running Examples

$ git clone
$ cd short/examples/basic
$ node api.js


$ npm install short

Basic API Usage

Using short within your own project as an API interface

  Core Modules

var short = require('short')
  , URL = '';


short.connection.on('error', function(error){
  throw new Error(error);

  Generate a Shortened URL
  Retrieve URL based on Generated Hash

short.generate(URL, function(error, shortURL) {
  if (error) {
    throw new Error(error);
  } else {
    short.retrieve(shortURL.hash, function(error, shortenedURLObject) {
      if (error) {
        throw new Error(error);
      } else {
        console.log('URL:', shortenedURLObject.URL);
        console.log('hash:', shortenedURLObject.hash);

Complete Example with Express

Please see


  1. Fork
  2. Clone forked repository
  3. Add some sweet code
  4. Tests still passing? Run tests with npm test
  5. Add a test if adding a feature
  6. Pull Request
  7. Instant Karma!

License (MIT)

Copyright (c) 2011, Edward Hotchkiss.

Author: Edward Hotchkiss

Contributors: Kevin Roth

Something went wrong with that request. Please try again.