{
  "openapi": "3.0.1",
  "info": {
    "title": "AliExpress to 1688 Sourcing Bridge: Suppliers & Margins",
    "description": "Find 1688.com suppliers for AliExpress products by image search. Each row: wholesale and consign price in CNY, MOQ, factory signals and an estimated per-unit margin. $0.005 per AliExpress lookup, $0.008 per supplier row, $0.00005 run base fee. Failed lookups are free.",
    "version": "0.1",
    "x-build-id": "hbgsnTdq0Ge6xZRu8"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/crawleast~aliexpress-to-1688-sourcing-bridge/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-crawleast-aliexpress-to-1688-sourcing-bridge",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/crawleast~aliexpress-to-1688-sourcing-bridge/runs": {
      "post": {
        "operationId": "runs-sync-crawleast-aliexpress-to-1688-sourcing-bridge",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/crawleast~aliexpress-to-1688-sourcing-bridge/run-sync": {
      "post": {
        "operationId": "run-sync-crawleast-aliexpress-to-1688-sourcing-bridge",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "aliexpressUrls": {
            "title": "AliExpress product URLs",
            "maxItems": 100,
            "type": "array",
            "description": "Public AliExpress product URLs, up to 100 per run. Accepted forms include aliexpress.com/item/<id>.html and aliexpress.us/item/<id>.html (query parameters are fine). Each successfully looked-up item costs one $0.005 ae-item-lookup event; blocked, region-unavailable and empty lookups are free. Batch items in one run to pay the $0.00005 run base fee once.",
            "items": {
              "type": "string"
            }
          },
          "imageUrls": {
            "title": "Product image URLs",
            "maxItems": 100,
            "type": "array",
            "description": "Public product photo URLs (jpg/png/webp/avif, about 1 MB or less), up to 100 per run. These skip the AliExpress lookup entirely: no ae-item-lookup fee, no AliExpress price, so margin fields are null. Mix with aliexpressUrls to process both kinds in one run.",
            "items": {
              "type": "string"
            }
          },
          "maxSuppliersPerItem": {
            "title": "Max 1688 suppliers per item",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many visually matching 1688 offers to return per item, in similarity order. Each delivered match row costs $0.008 (FREE tier); matches cut by your maxTotalChargeUsd are not charged.",
            "default": 10
          },
          "shipTo": {
            "title": "Ship-to country",
            "pattern": "^[A-Za-z]{2}$",
            "type": "string",
            "description": "Two-letter destination country code passed to AliExpress (default US). AliExpress prices vary by destination; the Actor forces USD display where possible. The AliExpress leg uses a residential proxy in this country; the 1688 leg always uses China residential sessions.",
            "default": "US"
          },
          "marginCurrency": {
            "title": "Margin currency",
            "enum": [
              "USD",
              "CNY"
            ],
            "type": "string",
            "description": "Currency for estMarginPerUnit / estMarginPct: USD (default) computes aePriceUsd − consignPriceYuan ÷ USD/CNY; CNY computes aePriceUsd × USD/CNY − consignPriceYuan. One run-time FX rate is captured and reported in RUN_SUMMARY. No multi-currency matrix.",
            "default": "USD"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Informational only. The Actor enforces RESIDENTIAL proxies internally: the AliExpress leg uses one sticky residential session per item in the ship-to country (US by default), and the 1688 image-search leg uses China residential sessions. Datacenter proxies are known to be blocked by AliExpress.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "US"
            }
          },
          "maxTotalChargeUsd": {
            "title": "Max total charge (USD)",
            "minimum": 0.04,
            "type": "number",
            "description": "Hard budget cap for this run including the run base fee. When the next item cannot be delivered within the cap, the run stops gracefully, marks the remaining items in skippedBy.budget and reports trigger=\"budget\". Minimum 0.04 (Apify platform limit).",
            "default": 2
          },
          "maxRequestsPerRun": {
            "title": "Max requests per run",
            "minimum": 50,
            "maximum": 2000,
            "type": "integer",
            "description": "Request quota guard across both legs (AliExpress navigations, image downloads, 1688 uploads/searches). When exhausted, remaining items are marked skippedBy.quota and trigger=\"quota\". The default 1,200 covers 100 items with retry headroom.",
            "default": 1200
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}