How to access vendor profile data on your shopify theme
PuppetVendors makes it easy to access your vendors’ profile information directly from your Shopify theme. This allows you to build custom vendor profile pages, display social media links, show contact information, business logos, banners, and much more.
Article Contents
- Accessing vendor profile data
- Where the vendor Liquid variable is available
- Response format
- Example implementation
Accessing Vendor Profile Data
- Vendor profile information can be retrieved by making an HTTP request to the following endpoint:
https://app.puppetvendors.com/webhooks/vendor/profiles?shop={{ shop.permanent_domain | url_encode }}&vendor={{ product.vendor | url_encode }}URL Parameters
Parameter | Description |
|---|---|
shop | Your Shopify store’s permanent |
vendor | The vendor name for the current product |
- The endpoint returns a JSON object containing all available profile information for the specified vendor.
- You can then use JavaScript to display any of this information anywhere on your storefront.
Where can product.vendor be used?
Template |
|
|---|---|
Product page | ✅ Yes |
Featured product section | ✅ Yes |
Product card within a collection | ✅ Yes |
Collection page (outside a product loop) | ❌ No |
Cart page | ❌ No |
Home page | ❌ No (unless inside a featured product section) |
Blog, Page, Article | ❌ No |
If you need the vendor on other templates, Shopify provides alternative objects such as:
item.product.vendorline_item.product.vendor
depending on the page being rendered.
Example Response
A successful request returns JSON similar to the following:
{
"_id": "68a451512f4ab47c880f9408",
"vendorName": "PuppetVendors",
"profile": {
"hasTax": false,
"profileBanner": "",
"Profile Description": "",
"businessAddress": {
"address1": "3424a Dondy Road",
"address2": "",
"city": "Dondy Bay",
"state": "New South Wales",
"postalCode": "2327",
"country": "Australia"
},
"facebook": "",
"pinterest": "",
"twitter": "",
"snapchat": "",
"linkedin": "https://www.linkedin.com/company/puppet-vendors/",
"instagram": "https://instagram.com/@puppetvendors",
"youtube": "",
"website": "",
"email": "hugo@puppetvendors.com",
"phone": "0420 755 4456",
"Mobile Phone": "0420 749 123",
"businessLogo": "",
"vacation": {
"enabled": false,
"timeRange": [
"",
""
],
"message": ""
}
}
}
Every profile field that has been completed by the vendor is included in the response.
Example: Display a Vendor’s Instagram Link
The example below fetches the vendor profile and displays an Instagram link if one has been configured.
<div id="vendor-instagram"></div>
<script>
(async () => {
const shop = {{ shop.permanent_domain | json }};
const vendor = {{ product.vendor | json }};
const response = await fetch(
`https://app.puppetvendors.com/webhooks/vendor/profiles?shop=${encodeURIComponent(shop)}&vendor=${encodeURIComponent(vendor)}`
);
if (!response.ok) return;
const data = await response.json();
if (data.profile?.instagram) {
document.getElementById("vendor-instagram").innerHTML =
`<a href="${data.profile.instagram}" target="_blank" rel="noopener">
Follow on Instagram
</a>`;
}
})();
</script>
Example: Display a Vendor’s Instagram Link
The response includes many additional fields that can be displayed in exactly the same way.
Field | Property |
|---|---|
Business Logo |
|
Profile Banner |
|
Description |
|
Website | |
Phone |
|
Mobile Phone |
|
| |
| |
| |
| |
Twitter / X |
|
Snapchat |
|
YouTube |
|
Business Address |
|
Vacation Status |
|
You can use these properties to create fully customised vendor profile pages, product cards, or marketplace experiences that match your store’s design.
You can reach our support team through the PuppetVendors support portal, and we’ll be happy to point you in the right direction.
Updated on: 03/07/2026
Thank you!
