API reference · Products
List products
Returns the products of one source, filtered, sorted and paged.
https://out.stockmount.com/api/Product/GetProducts
PageIndex starts at 1; values below 1 are treated as 1. RowsByPage is 100 when omitted or 0, and at most 100 (larger values become 100, negative values become 1). Compute the page count from FilteredProductCount and RowsByPage.
OrderBy must be one of (case-insensitive): Name, ProductId, Category, Price, Quantity, Status, CurrencyId. An invalid value does not fail; ProductId is used. OrderDirection is ASC or DESC; invalid values fall back to ASC.
0 in numeric filters and an empty value in text filters switch the filter off, so you cannot select zero-stock products with QuantityFrom/QuantityTo. ProductCode and ProductCategory match exactly. Keywords searches the product name (and the marketplace-specific name, if any); spaces act as wildcards: red shirt finds names containing red followed later by shirt.
CreationTimeFrom and CreationTimeTo are applied only when their year is after 2010. Send them as 2025-01-31T00:00:00, without a time zone suffix; they are compared as-is with the stored creation time. CreationTime in the response also has no time zone suffix.
TotalProductCount is the number of products in the source regardless of filters; FilteredProductCount is the number matching the filters. Products deleted with the retired DeleteProduct are neither counted nor listed; stopped products (status 3) are listed. ProductSourceId can be any of your sources; the source type is not checked.
List items carry fewer fields than GetProduct: no variants, image list or description. Image is the first image URL. Currency is the currency code; NON is returned as TRY. Barcode is the product's own barcode (GetProduct prefers the integration-level barcode).
Accounts without an active Product package get error 70018; if the package cannot be verified, 99999 is returned.
Request fields
| Field | Type | Description |
|---|---|---|
ApiCode
required
|
string |
Session code returned by DoLogin.
|
ProductSourceId
required
|
integer |
Source to list. A value below 1 returns 00003 (ErrorMessage: ProductSourceId).
|
ProductId
|
integer | Filter by one product ID. 0 = no filter. |
ProductCode
|
string | Product code, exact match. Max 50 characters. |
Keywords
|
string | Search in the product name; spaces act as wildcards. |
ProductCategory
|
string | Category name, exact match. |
PriceFrom
|
number | Minimum price (inclusive). 0 = no filter. |
PriceTo
|
number | Maximum price (inclusive). 0 = no filter. |
QuantityFrom
|
integer | Minimum stock (inclusive). 0 = no filter. |
QuantityTo
|
integer | Maximum stock (inclusive). 0 = no filter. |
CurrencyId
|
integer | Currency ID. 0 = no filter. |
ProductStatus
|
integer |
Product status filter. Default -1 (all).
|
CreationTimeFrom
|
datetime |
Created at or after this time. yyyy-MM-ddTHH:mm:ss, no time zone suffix. Ignored if the year is 2010 or earlier.
|
CreationTimeTo
|
datetime |
Created at or before this time. Same format and rule as CreationTimeFrom.
|
PageIndex
|
integer | Page number, starting at 1. Default 1. |
RowsByPage
|
integer | Page size. Default 100, max 100. |
OrderBy
|
string |
Sort field. Default ProductId.
|
OrderDirection
|
string |
Sort direction. Default ASC.
|
Response fields (Response)
| Field | Type | Description |
|---|---|---|
TotalProductCount
|
integer | Total products in the source (ignores filters). |
FilteredProductCount
|
integer | Number of products matching the filters. |
Products
|
object[] | Products on this page. |
Products[].
ProductId
|
integer | Product ID. |
Products[].
ProductSourceId
|
integer | Source ID. |
Products[].
Category
|
string | Category name. |
Products[].
Code
|
string | Product code. |
Products[].
Code2
|
string | Secondary product code; empty if none. |
Products[].
Name
|
string | Product name. |
Products[].
TaxRate
|
number | VAT rate; 0 if none. |
Products[].
Quantity
|
integer | Stock quantity. |
Products[].
SoldCount
|
integer | Sold count. |
Products[].
Price
|
number | Sale price. |
Products[].
Subtitle
|
string | Subtitle. |
Products[].
Volume
|
number | Volume / desi (the second value if one is set). |
Products[].
Brand
|
string | Brand. |
Products[].
Barcode
|
string | The product's own barcode. |
Products[].
Status
|
integer |
Product status.
|
Products[].
CreationTime
|
datetime | Creation time, no time zone suffix. |
Products[].
CurrencyId
|
integer | Currency ID. |
Products[].
MarketPrice
|
number | Market (list) price; 0 if none. |
Products[].
Image
|
string | First image URL; empty if none. |
Products[].
Currency
|
string |
Currency code (e.g. TRY, USD); NON is returned as TRY.
|
Products[].
SellerNote
|
string | Seller note; empty if none. |
Error codes for this endpoint
| Code | When |
|---|---|
70002 |
ProductSourceId is not a product source in your account (ErrorMessage: InvalidProductSource). |
70018 |
Your account has no active Product package (ErrorMessage is Turkish: Ürün entegrasyonu için aktif Ürün Paketi gereklidir.). |
99999 |
An unexpected error occurred. Also returned when the product list cannot be read. |
For session errors (00001, 00006) and every other code see error codes.
Related endpoints
Example request
{
"ApiCode": "API_CODE",
"ProductSourceId": 1234,
"Keywords": "tişört",
"ProductStatus": 99,
"CreationTimeFrom": "2025-10-01T00:00:00",
"PageIndex": 1,
"RowsByPage": 50,
"OrderBy": "Name",
"OrderDirection": "ASC"
}
curl -X POST 'https://out.stockmount.com/api/Product/GetProducts' \
-H 'Content-Type: application/json' \
-d '{
"ApiCode": "API_CODE",
"ProductSourceId": 1234,
"Keywords": "tişört",
"ProductStatus": 99,
"CreationTimeFrom": "2025-10-01T00:00:00",
"PageIndex": 1,
"RowsByPage": 50,
"OrderBy": "Name",
"OrderDirection": "ASC"
}'
using System.Net.Http;
using System.Text;
using var http = new HttpClient();
var json = """
{
"ApiCode": "API_CODE",
"ProductSourceId": 1234,
"Keywords": "tişört",
"ProductStatus": 99,
"CreationTimeFrom": "2025-10-01T00:00:00",
"PageIndex": 1,
"RowsByPage": 50,
"OrderBy": "Name",
"OrderDirection": "ASC"
}
""";
var response = await http.PostAsync(
"https://out.stockmount.com/api/Product/GetProducts",
new StringContent(json, Encoding.UTF8, "application/json"));
var result = await response.Content.ReadAsStringAsync();
// Result == false ise ErrorCode ve ErrorMessage alanlarına bakın.
Console.WriteLine(result);
<?php
$body = <<<'JSON'
{
"ApiCode": "API_CODE",
"ProductSourceId": 1234,
"Keywords": "tişört",
"ProductStatus": 99,
"CreationTimeFrom": "2025-10-01T00:00:00",
"PageIndex": 1,
"RowsByPage": 50,
"OrderBy": "Name",
"OrderDirection": "ASC"
}
JSON;
$ch = curl_init('https://out.stockmount.com/api/Product/GetProducts');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => $body,
CURLOPT_RETURNTRANSFER => true,
]);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
if (!$result['Result']) {
echo $result['ErrorCode'] . ' ' . $result['ErrorMessage'];
}
import requests
payload = {
"ApiCode": "API_CODE",
"ProductSourceId": 1234,
"Keywords": "ti\u015F\u00F6rt",
"ProductStatus": 99,
"CreationTimeFrom": "2025-10-01T00:00:00",
"PageIndex": 1,
"RowsByPage": 50,
"OrderBy": "Name",
"OrderDirection": "ASC"
}
response = requests.post("https://out.stockmount.com/api/Product/GetProducts", json=payload, timeout=60)
result = response.json()
if not result["Result"]:
print(result["ErrorCode"], result["ErrorMessage"])
const payload = {
"ApiCode": "API_CODE",
"ProductSourceId": 1234,
"Keywords": "tişört",
"ProductStatus": 99,
"CreationTimeFrom": "2025-10-01T00:00:00",
"PageIndex": 1,
"RowsByPage": 50,
"OrderBy": "Name",
"OrderDirection": "ASC"
};
const response = await fetch("https://out.stockmount.com/api/Product/GetProducts", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload),
});
const result = await response.json();
if (!result.Result) {
console.error(result.ErrorCode, result.ErrorMessage);
}
Example response
{
"Result": true,
"Response": {
"TotalProductCount": 152,
"FilteredProductCount": 1,
"Products": [
{
"ProductId": 987654,
"ProductSourceId": 1234,
"Category": "Tişört",
"Code": "TSHIRT-001",
"Code2": "",
"Name": "Basic Pamuklu Tişört",
"TaxRate": 20.0,
"Quantity": 30,
"SoldCount": 4,
"Price": 249.9,
"Subtitle": "",
"Volume": 1.0,
"Brand": "Örnek Marka",
"Barcode": "8690000000017",
"Status": 1,
"CreationTime": "2025-11-05T10:22:31.497",
"CurrencyId": 4,
"MarketPrice": 299.9,
"Image": "https://cdn.example.com/tshirt-001-1.jpg",
"Currency": "TRY",
"SellerNote": ""
}
]
}
}
Try it
The request goes straight from your browser to out.stockmount.com. The ApiCode is not stored by this site; it is kept only while this tab is open.
Get an ApiCode before sending requests.
Recent requests
Requests sent from this tab; click one to load its body again.