PHPackages                             pango-lier/etsy-php-v3 - 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. [API Development](/categories/api)
4. /
5. pango-lier/etsy-php-v3

ActiveLibrary[API Development](/categories/api)

pango-lier/etsy-php-v3
======================

Simple PHP Laravel Etsy-API-V3--Guzzel

371PHP

Since Sep 23Pushed 3y ago2 watchersCompare

[ Source](https://github.com/pango-lier/etsy-php-v3)[ Packagist](https://packagist.org/packages/pango-lier/etsy-php-v3)[ RSS](/packages/pango-lier-etsy-php-v3/feed)WikiDiscussions main Synced today

READMEChangelogDependenciesVersions (2)Used By (0)

etsy-php-v3
===========

[](#etsy-php-v3)

PHP-Laravel-Redis-Guzzel
========================

[](#php-laravel-redis-guzzel)

Setup EtsyOauth.php Example, Get Token.
=======================================

[](#setup-etsyoauthphp-example-get-token)

Config Etsy client\_id ,etsy\_scope
-----------------------------------

[](#config-etsy-client_id-etsy_scope)

```
public function __construct($accountId = null, $access_token = null, $refresh_token = null)
    {
        $this->accountId = $accountId;
        $this->client = new EtsyClient(env('ETSY_KEYSTRING'), ETSY_SCOPE);
    }

```

Requesting an OAuth Token
-------------------------

[](#requesting-an-oauth-token)

### Step 1: Request an Authorization Code

[](#step-1-request-an-authorization-code)

Get URL to redirect to Etsy Store

```
$getUrlRedirect= (new EtsyOauth())->getUrlRedirect(route('callback.verifier'));

```

### Step 2: Grant Access

[](#step-2-grant-access)

### Step 3: Request an Access Token

[](#step-3-request-an-access-token)

```
$token = (new EtsyOauth())->getAccessToken($request->state, $request->code, route('callback.verifier'));

```

Token will be saved in Redis.

EtsyApi.php
===========

[](#etsyapiphp)

- Map methods.json to etsy method function.

EtsyClient.php
==============

[](#etsyclientphp)

- Guzzle client.

How to use etsy-php-v3
======================

[](#how-to-use-etsy-php-v3)

Step 1: Get auth account.
-------------------------

[](#step-1-get-auth-account)

```
$etsyOauth = new EtsyOauth($accountId);
$api = $etsyOauth->getApi();

```

Call api
--------

[](#call-api)

Step 2: check file methods.json .
---------------------------------

[](#step-2-check-file-methodsjson-)

```
  "createDraftListing": {
    "http_method": "post",
    "content-type": "application/x-www-form-urlencoded",
    "uri": "/v3/application/shops/{shop_id}/listings",
    "params": { "shop_id": { "minimum": 1, "required": true, "type": "integer" } },
    "query": [],
    "data": {
      "quantity": { "type": "integer", "required": true },
      "title": { "type": "string", "required": true },
      "description": { "type": "string", "required": true },
      "price": { "type": "float", "required": true },
      "who_made": { "type": "string", "required": true },
      "when_made": { "type": "string", "required": true },
      "taxonomy_id": { "type": "integer", "required": true },
      "shipping_profile_id": { "type": "integer", "required": true },
      "materials": { "type": "array", "required": false },
      "shop_section_id": { "type": "integer", "required": false },
      "processing_min": { "type": "integer", "required": false },
      "processing_max": { "type": "integer", "required": false },
      "tags": { "type": "array", "required": false },
      "recipient": { "type": "string", "required": false },
      "occasion": { "type": "string", "required": false },
      "styles": { "type": "array", "required": false },
      "item_weight": { "type": "float", "required": false },
      "item_length": { "type": "float", "required": false },
      "item_width": { "type": "float", "required": false },
      "item_height": { "type": "float", "required": false },
      "item_weight_unit": { "type": "string", "required": false },
      "item_dimensions_unit": { "type": "string", "required": false },
      "is_personalizable": { "type": "boolean", "required": false },
      "image_ids": { "type": "array", "required": false },
      "is_supply": { "type": "boolean", "required": false },
      "is_customizable": { "type": "boolean", "required": false },
      "is_taxable": { "type": "boolean", "required": false }
    }
  },

```

### Example run Api

[](#example-run-api)

Step 2: Example data .
----------------------

[](#step-2-example-data-)

```
$api->createDraftListing([
    'params':
        [
            'shop_id':xxxxx   // required =true
        ],
    'data':
        [
      "quantity": 1,
      "title": "example title",   // required =true
      "description": "example",   // required =true
      "price": 11.11,   // required =true
      "who_made": { "type": "string", "required": true },// required =true
      "when_made": { "type": "string", "required": true },// required =true
      "taxonomy_id": { "type": "integer", "required": true },// required =true
      "shipping_profile_id": { "type": "integer", "required": true },// required =true
      "is_customizable": false,
      "is_taxable": false
        ]
])

```

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity27

Early-stage or recently created project

 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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/34365057?v=4)[pango-dev](/maintainers/pango-lier)[@pango-lier](https://github.com/pango-lier)

---

Top Contributors

[![pango-lier](https://avatars.githubusercontent.com/u/34365057?v=4)](https://github.com/pango-lier "pango-lier (11 commits)")

### Embed Badge

![Health badge](/badges/pango-lier-etsy-php-v3/health.svg)

```
[![Health](https://phpackages.com/badges/pango-lier-etsy-php-v3/health.svg)](https://phpackages.com/packages/pango-lier-etsy-php-v3)
```

###  Alternatives

[exsyst/swagger

A php library to manipulate Swagger specifications

35916.4M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24016.2M20](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172445.0k13](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

93459.5k6](/packages/botman-driver-telegram)

PHPackages © 2026

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