How to look up residential proxy products, locations, and prices before you order

Before you place a static or dynamic order, query official products for the product number, location codes, duration, price, and stock. Shared versus exclusive follows the product-type fields, not staticType, and staticType is not an ISP plan. Not for mainland China.

Before you create a static residential IP order or confirm a dynamic residential product number, query the products, locations, durations, prices, and stock that are available now. The official Products docs say to query first so you have the right poolId, location, duration, IP count, and price. This page is an operations how-to. It does not rewrite the marketing products hub, and it does not replace choosing a location by target market.

Use the returned productId as poolId when you order. For the static purchase flow, see buy a static IP. For dynamic traffic, see buy dynamic traffic. Authorized targets only. Not supported in mainland China.

What to prepare

ItemWhere it comes from
An access token or a signed-in consoleThe API needs a valid token; see login and token
Proxy typeDocumented common values: 103 for static, 104 for dynamic
Optional country or city filtersCountry codes use ISO2; official examples include US and JP. A documented city-code example is NEW_YORK
Response languageYou may send zh or en; the docs default to en

Those country and city codes are format examples. They do not mean stock exists right now. Read stock from this query or the console. Do not copy a sample figure from the docs as live inventory.

Fields to read first

The query endpoint is POST /open/app/product/query-standard/v2.

FieldMeaning
productIdProduct number, used as poolId when you create an order
proxyTypeProxy type; common values are 103 static and 104 dynamic
product_type / productTypeStatic shape: 2 or shared means shared static; 1 or exclusive means exclusive static
project_list / projects / projectListProject or business-type list for shared static products; if it is not empty, the order must include a chosen projectId
stockAvailable stock at the time of this query
countryCode, cityCodeStandard location codes; send them unchanged on the order
duration, unit, priceSupported duration options and the current default selling price

Shared versus exclusive follows the product-shape fields and the project list, not staticType. The docs say staticType describes a static resource type and is not used to tell shared from exclusive. Do not market a staticType value that may appear in official samples as an ISP plan either. ZTProxy sells residential products; see ISP vs residential. For choosing shared or exclusive, see shared vs dedicated static.

Example: query static products

export ZTPROXY_BASE="https://backend.ztproxy.net/api"
export ZTPROXY_TOKEN="TOKEN_EXAMPLE_NOT_REAL"

curl -X POST "$ZTPROXY_BASE/open/app/product/query-standard/v2" \
  -H "Authorization: Bearer $ZTPROXY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "proxyType": 103,
    "language": "en"
  }'

To narrow the results, add the documented standardCountryCode and standardCityCode fields. To query dynamic products, set proxyType to 104. The Chinese source of record is 产品; both language pages describe the same fields. The docs also include an IP-range lookup. That is a supplementary API, and this page does not expand CIDR samples, so documentation networks or ISP labels are not mistaken for sellable inventory.

What to do with the result, and what not to do

If you findNext stepDo not
A static productId, location codes, duration, and priceTake them to the static order guideDo not type a stale product number or location code from memory
Shared static with a non-empty project listChoose a project code and send projectIdDo not add a project code to exclusive static, or omit it on shared static
stock at 0 or too lowSwitch to a product or location that still has stock, or query again laterDo not treat a screenshot or a docs sample as current inventory
A dynamic product numberTake it to the dynamic order guideDo not buy traffic with a static product number

Best practices also say to query products immediately before you order, so stock, duration, and price are current. The payable amount still follows the console and the live query, not a sample on this page or a marketing line.

Compliance and scope

Use this only on authorized targets. Do not treat this page as a bypass tutorial. Prices follow the console and Pricing (dynamic about $0.40/GB, about $0.20/GB for the 100 TB package; static shared about $1.50 and exclusive about $5 per IP per month). USDT/USDC are available; Visa/Mastercard are still being applied for. Not supported in mainland China.

FAQ

How is this different from the products hub?

/en/products is the marketing hub, and this page does not change its title or introduction. This page shows how to query live product numbers, locations, durations, prices, and stock before you order.

What are 103 and 104?

In the official product docs, 103 is static and 104 is dynamic. Do not invent undocumented type codes.

How do I tell shared static from exclusive static?

Read product_type / productType and whether the project list is non-empty. Do not use staticType to decide, and do not treat staticType as an ISP plan.

Do the US or New York examples mean those locations are in stock?

Not necessarily. The examples only show code format. Availability follows stock on this query and the console.

Is the returned price an invoice amount?

It is the current default selling price for that product. The server may still calculate the charge when you order. The amount due follows the console and the order result.

Can I still order when stock is empty?

Switch to a product that still has stock, or query again later. Sending a stale query to checkout often fails at validation.

Do I need a product query for dynamic traffic too?

A dynamic order still needs the correct product number. Even if you already know the public Dynamic Resource 2 number, confirm it again. The full purchase steps are in buy dynamic traffic.

Where do prices come from?

Follow the console, the live product query, and Pricing. Do not reuse a price or stock figure from an old screenshot.

Next steps

  1. Query static or dynamic products and save productId plus location and duration fields.
  2. Confirm shared versus exclusive, and whether you need projectId.
  3. Continue to buy a static IP or buy dynamic traffic.