June 19, 2026
Cambuilder API Guide: Dynamic Model Feeds
How to use the Streamate SMLive API to pull live model data with real photos, bios, and stats into your custom affiliate site.
One of the biggest advantages of Cambuilder (Streamate's affiliate program) is the SMLive API. Unlike many affiliate programs that only provide generic embed codes or iframes, SMLive gives you raw model data that you can display however you want. This means real photos (not just one angle), detailed bios, physical stats, and live streaming status — all pulled programmatically into your custom-built site.
What Is the SMLive API?
SMLive is an HTTP-based XML API provided by Streamate for Cambuilder affiliates. You send a POST request with an XML query describing the models you want, and the API returns detailed profile data including:
- Performer name, ID, and streaming status (live/offline)
- Bio photo (full size at 320x240 and thumbnail at 120x90)
- Photo gallery (multiple images per model)
- Physical stats: age, height, weight, bust, hair color, eye color, etc.
- Descriptions: about me, expertise, turn-ons
- Tags: ethnicity, theme, fetishes, languages, gender
- HD and widescreen availability flags
Sample API Request
The API endpoint is at http://affiliate.streamate.com/SMLive/SMLResult.xml. Send an HTTP POST with Content-Type: text/xml. Here is a real-world query that returns 50 live performers sorted by popularity:
<?xml version="1.0" encoding="UTF-8"?>
<SMLQuery>
<Options MaxResults="50"/>
<AvailablePerformers QueryId="Cash4CamsFeed">
<Include>
<Descriptions/>
<Media>staticbiopic,photogallery</Media>
</Include>
<Constraints>
<PublicProfile/>
<StreamType>live</StreamType>
<Gender>f,ff</Gender>
</Constraints>
</AvailablePerformers>
</SMLQuery>
Sample API Response
The API returns XML with performer data. Each performer includes a <Performer> node with attributes and child elements. The media section includes both a bio picture and an optional photo gallery:
<Performer Id="123456" Name="Jolie" StreamType="live">
<Descriptions>
<About>I love meeting new people!</About>
</Descriptions>
<Media>
<Pic>
<Full Src="http://static.gfx.streamate.com/media/1/2/3/123456.jpg"/>
<Thumb Src="http://static.gfx.streamate.com/thumb/1/2/3/123456.jpg"/>
</Pic>
<PhotoGallery>
<Pic>
<Full Src="http://static.gfx.streamate.com/media/1/2/3/123456_1.jpg"/>
<Thumb Src="http://static.gfx.streamate.com/thumb/1/2/3/123456_1.jpg"/>
</Pic>
</PhotoGallery>
</Media>
</Performer>
Using the API in Your Site
Because of CORS restrictions, the SMLive API cannot be called directly from browser JavaScript. You need a backend proxy to handle the request and forward the response to your frontend. Here are two approaches:
Option 1: PHP Proxy (Simplest)
Create a simple PHP file on your server that acts as a proxy. Your frontend JavaScript calls your proxy, which calls SMLive and returns the XML:
<?php $url = 'http://affiliate.streamate.com/SMLive/SMLResult.xml'; $xmlRequest = '<?xml version="1.0"?><SMLQuery>...</SMLQuery>'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: text/xml']); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlRequest); echo curl_exec($ch); ?>
Option 2: Node.js or Python Backend
If you prefer a modern stack, you can build a lightweight Node.js or Python backend that proxies the API and optionally caches responses to improve performance. Our starter kit uses the AWEmpire JSON API, but the same principles apply to SMLive.
Performance Considerations
- Cache API responses for 30-90 seconds (the API returns a CacheTTL value)
- Limit results to 50-100 models to keep response sizes manageable
- Use thumbnail versions of images (120x90) for grid views, full size (320x240) for detail pages
- The API supports pagination via
PageNumattribute for larger result sets
Filtering and Sorting
SMLive supports extensive filtering. You can narrow results by age range, hair color, ethnicity, build, language, fetishes, and more. Sorting options include popularity, random, HD-first, and alphabetical by name. This makes it possible to create category pages (blondes, teens, couples, etc.) that update automatically with live data.
🔧 Want to Build with the Cambuilder API?
Sign up for Cambuilder to get API access, then check our starter kit for a template you can customize. Need hosting? See our adult-friendly hosting guide.