PHPackages                             tousanco/laravel-zaya - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. tousanco/laravel-zaya

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

tousanco/laravel-zaya
=====================

using this package you can easily implement the zaya.io link shortener in your laravel application.

v1.1.23(2y ago)43.4kMITPHPPHP &gt;=7.1.3

Since Aug 21Pushed 2y ago1 watchersCompare

[ Source](https://github.com/tousanco/laravel-zaya)[ Packagist](https://packagist.org/packages/tousanco/laravel-zaya)[ Docs](https://github.com/tousanco/laravel-zaya)[ RSS](/packages/tousanco-laravel-zaya/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (4)Versions (7)Used By (0)

Zaya link shortener sdk for Laravel
===================================

[](#zaya-link-shortener-sdk-for-laravel)

[![Check Imports](https://github.com/tousanco/laravel-zaya/actions/workflows/check_imports.yml/badge.svg?branch=master)](https://github.com/tousanco/laravel-zaya/actions/workflows/check_imports.yml)

using this package you can easily implement the [Zaya](https://zaya.io) link shortener in your php application.

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require tousanco/laravel-zaya
```

Usage
-----

[](#usage)

First you need to get your API key from [Zaya](https://zaya.io/developers/api)

then add the api key to your env :

```
ZAYA_API_KEY=*************your-key*****************
```

### Links

[](#links)

```
use Tousanco\LaravelZaya\Link;

$listParams = [
    // All options nullable

    // search (string)
    'search' => 'search key',
    // by (in:title,alias,url) null for all.
    'by' => 'title',
    // ids comma separated (string)
    'ids' => '1,2,3,4,5',
    /*
     * status (int|in:0,1,2,3,4,5,6)
     * 0 or null for all
     * 1 for active
     * 2 for pending
     * 3 for deactivate
     * 4 for suspended
     * 5 for expired
     */
    'status' => 1,
    // (int) space-id
    'space' => 1,
    // (int) domain-id
    'domain' => 1,
    // favorites (bool|in:1) null for false
    'favorites' => 1,
    /*
     * sort (string|in:desc,asc,max,min)
     * max for maximum clicks
     * min for minimum clicks
     */
    'sort' => 'desc',
];
$links = Link::all($listParams);

$createOrUpdateParams = [
    // All options nullable
    'alias' => 'string',
    'password' => 'string',
    'space' => 'int',
    'domain' => 'int',
    'disabled' => 'int',
    'public' => 'int',
    'description' => 'string',
    'expiration_url' => 'url',
    'expiration_date' => 'Y-m-d',
    'expiration_time' => 'HH:MM',
    'expiration_clicks' => 'int',
];
$link = Link::create('https://example.com', $createOrUpdateParams);

$linkId = 1;
$link = Link::details($linkId);

$link = Link::update($linkId, $createOrUpdateParams);

Link::delete($linkId);
```

### Space

[](#space)

```
use Tousanco\LaravelZaya\Space;

$listParams = [
    // All options nullable
    'search' => 'string key',
    // sort (string|in:desc,asc)
    'sort' => 'desc',
];
$spaces = Space::all($listParams);

$params = ['name' => 'sample space', 'color' => '#fff'];
$space = Space::create($params);

$spaceId = 1;
$space = Space::details($spaceId);

$space = Space::update($spaceId, $params);

Space::delete($spaceId);
```

### Domain

[](#domain)

```
use Tousanco\LaravelZaya\Domain;

$listParams = [
    // All options nullable
    'search' => 'string key',
    // sort (string|in:desc,asc)
    'sort' => 'desc',
];
$domains = Domain::all($listParams);

$params = [
    'name' => 'yourdomain.com',
    // index_page and not_found_page nullable.
    'index_page' => 'url',
    'not_found_page' => 'url',
];
$domain = Domain::create($params);

$domainId = 1;
$domain = Domain::details($domainId);

// You cannot update the domain name
$domain = Domain::update($domainId, $params);

Domain::delete($domainId);
```

### Stats

[](#stats)

```
use Tousanco\LaravelZaya\Stats;

$linkId = 1;
// The default value is the current day's
$params = ['from' => 'Y-m-d H:i:s', 'to' => 'Y-m-d H:i:s'];
$total = Stats::total($linkId, $params);

$clicks = Stats::clicks($linkId, $params);

$referrers = Stats::referrers($linkId, $params);

$countries = Stats::countries($linkId, $params);

$languages = Stats::languages($linkId, $params);

$browsers = Stats::browsers($linkId, $params);

$devices = Stats::devices($linkId, $params);

$operatingSystems = Stats::operatingSystems($linkId, $params);
```

### Account

[](#account)

```
use Tousanco\LaravelZaya\Account;

$accountDetails = Account::details();
```

### Timeout

[](#timeout)

You can set timeout in two ways:

- You can set timeout on config file
- When you call the methods of sending the request

```
use Tousanco\LaravelZaya\Link;

$timeout = 5;
$linkId = 22;
Link::details($linkId, $timeout);
```

Documentation
-------------

[](#documentation)

See the [documentation](https://zaya.io/developers) for more details.

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~26 days

Total

5

Last Release

891d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/59ee3f7e96052ac98a9921fe9a640331a4e0ae85a12c772afcbff082a9cf26ed?d=identicon)[tousanco](/maintainers/tousanco)

---

Top Contributors

[![alikhosravidev](https://avatars.githubusercontent.com/u/49164621?v=4)](https://github.com/alikhosravidev "alikhosravidev (12 commits)")

---

Tags

link-shortenerzaya

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/tousanco-laravel-zaya/health.svg)

```
[![Health](https://phpackages.com/badges/tousanco-laravel-zaya/health.svg)](https://phpackages.com/packages/tousanco-laravel-zaya)
```

###  Alternatives

[wireui/wireui

TallStack components

1.8k1.3M16](/packages/wireui-wireui)[livewire/volt

An elegantly crafted functional API for Laravel Livewire.

4195.3M84](/packages/livewire-volt)[ramonrietdijk/livewire-tables

Dynamic tables for models with Laravel Livewire

21147.4k](/packages/ramonrietdijk-livewire-tables)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
