{
  "openapi": "3.0.1",
  "info": {
    "title": "Alibaba Product & Supplier Finder (Reverse Image Search)",
    "description": "[UPDATED] Find Alibaba products, suppliers using keyword search, reverse image search, or dedicated supplier search. Extract prices, MOQs, product links, supplier profiles, ratings, verification status, more -ideal for product sourcing, private-label research, Amazon FBA, and dropshipping.",
    "version": "0.0",
    "x-build-id": "VVDQrsaYWIbT94Kgd"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/ozer-studio~Alibaba-Product-and-Vender-Finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-ozer-studio-Alibaba-Product-and-Vender-Finder",
        "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/ozer-studio~Alibaba-Product-and-Vender-Finder/runs": {
      "post": {
        "operationId": "runs-sync-ozer-studio-Alibaba-Product-and-Vender-Finder",
        "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/ozer-studio~Alibaba-Product-and-Vender-Finder/run-sync": {
      "post": {
        "operationId": "run-sync-ozer-studio-Alibaba-Product-and-Vender-Finder",
        "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",
        "required": [
          "searchMode"
        ],
        "properties": {
          "searchMode": {
            "title": "Search mode",
            "enum": [
              "keyword",
              "image",
              "supplier"
            ],
            "type": "string",
            "description": "Choose Keyword product search for product names, Image product search for product images, or Supplier search to find manufacturers directly.",
            "default": "keyword"
          },
          "searchTerms": {
            "title": "Product search keywords",
            "maxItems": 20,
            "type": "array",
            "description": "Used only in Keyword product search. Add one specific product query per row, such as portable blender USB rechargeable.",
            "items": {
              "type": "string",
              "minLength": 1
            }
          },
          "maxUniqueSuppliersPerKeyword": {
            "title": "Maximum suppliers per keyword",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum number of unique suppliers collected separately for each keyword. This is not a limit for the whole batch.",
            "default": 10
          },
          "maxPagesText": {
            "title": "Maximum pages per keyword",
            "minimum": 1,
            "maximum": 99,
            "type": "integer",
            "description": "Maximum Alibaba result pages processed for each keyword. The Actor stops sooner when the supplier target is reached; higher values take more time.",
            "default": 1
          },
          "supplierSearchTerms": {
            "title": "Supplier search keywords",
            "maxItems": 20,
            "type": "array",
            "description": "Used only in Supplier search. Describe the products or type of manufacturer you need, such as shower hardware manufacturer. Add one supplier search per row.",
            "items": {
              "type": "string",
              "minLength": 1
            }
          },
          "maxUniqueSuppliersPerSupplierKeyword": {
            "title": "Maximum suppliers per supplier keyword",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum unique manufacturer or supplier cards collected separately for each supplier keyword.",
            "default": 50
          },
          "maxPagesSupplier": {
            "title": "Maximum pages per supplier keyword",
            "minimum": 1,
            "maximum": 99,
            "type": "integer",
            "description": "Maximum manufacturer-result pages processed separately for each supplier keyword. The Actor stops sooner when the supplier target is reached.",
            "default": 50
          },
          "uploadedImages": {
            "title": "Product images",
            "maxItems": 20,
            "type": "array",
            "description": "Used only in Image product search. Upload up to 20 clear product images. Each image is searched separately. To use public web images, add them in Public product image URLs below.",
            "items": {
              "type": "string"
            }
          },
          "imageUrls": {
            "title": "Public product image URLs",
            "maxItems": 20,
            "type": "array",
            "description": "Used only in Image product search and recommended for MCP/API clients. Add one direct, publicly accessible HTTP or HTTPS image URL per row. Uploaded files and URLs share a combined limit of 20 images.",
            "items": {
              "type": "string",
              "pattern": "^https?://"
            }
          },
          "maxUniqueSuppliersPerImage": {
            "title": "Maximum suppliers per image",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum number of unique suppliers collected separately for each uploaded image or public image URL. This is not a limit for the whole batch.",
            "default": 50
          },
          "maxPagesImage": {
            "title": "Maximum pages per image",
            "minimum": 1,
            "maximum": 99,
            "type": "integer",
            "description": "Maximum Alibaba image-search result pages processed for each image. The Actor stops sooner when the supplier target is reached; higher values take more time.",
            "default": 50
          },
          "maxMoq": {
            "title": "Maximum MOQ (pieces)",
            "minimum": 0,
            "type": "number",
            "description": "Optional. 0 turns this filter off. Keep product offers whose displayed minimum order is at most this many pieces/units. Unknown MOQs and other units (such as kg or sets) are excluded. Available for keyword and image product search, not Supplier search.",
            "default": 0
          },
          "verifiedSuppliersOnly": {
            "title": "Verified suppliers only",
            "type": "boolean",
            "description": "Available in all three search modes. Keep returned cards displaying Alibaba's Verified Supplier badge; this does not switch on the website's search filter. Missing badges do not pass, and your page limit may yield fewer matches. Verified does not necessarily mean manufacturer or an independent guarantee.",
            "default": false
          },
          "minSupplierRating": {
            "title": "Minimum supplier rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Optional. 0 turns this filter off. Require a displayed supplier rating at or above this value (out of 5). Missing ratings do not pass.",
            "default": 0
          },
          "excludeSupplierIds": {
            "title": "Skip supplier IDs you already have",
            "maxItems": 10000,
            "type": "array",
            "description": "Optional. Paste company_id values from a previous export, one per row. Matching suppliers are removed before supplier limits and dataset result charges. No automatic history is kept between runs.",
            "items": {
              "type": "string",
              "pattern": "^[0-9]+$"
            }
          },
          "excludeSupplierUrls": {
            "title": "Skip supplier profile URLs you already have",
            "maxItems": 10000,
            "type": "array",
            "description": "Optional. Paste vendor_profile_url values such as https://example.en.alibaba.com/company_profile.html. The whole company storefront is excluded, ignoring paths and tracking parameters. Product URLs and company names are not accepted.",
            "items": {
              "type": "string"
            }
          },
          "useApifyProxy": {
            "title": "Use Apify Proxy",
            "type": "boolean",
            "description": "Recommended, especially for multiple images, because Alibaba may challenge or limit direct traffic.",
            "default": true
          },
          "skipFailedImages": {
            "title": "Skip failed images",
            "type": "boolean",
            "description": "Used only in Image product search. Continue when an image source cannot be downloaded or resolved. Disable to fail immediately on an invalid image source.",
            "default": true
          },
          "failOnNoResults": {
            "title": "Strict failure mode",
            "type": "boolean",
            "description": "Enable to fail immediately when a search errors, or when the full run returns no rows. Leave disabled to keep successful results when another input fails. A run with search errors and no suppliers always fails. A legitimate empty or fully filtered result can finish successfully when this is disabled.",
            "default": false
          },
          "maxUniqueSuppliers": {
            "title": "Maximum suppliers for the full run",
            "minimum": 1,
            "type": "integer",
            "description": "Advanced safety cap across the entire batch. Normally leave this unchanged; the visible per-search limits are configured above.",
            "default": 10000
          },
          "saveCsvFile": {
            "title": "Save CSV files",
            "type": "boolean",
            "description": "Also save CSV files in the run's key-value store. The structured Apify dataset is always available; the CSV settings below are ignored when this is disabled.",
            "default": false
          },
          "csvOutputMode": {
            "title": "CSV output mode",
            "enum": [
              "combined",
              "separate",
              "both"
            ],
            "type": "string",
            "description": "Used only when Save CSV files is enabled. Choose one combined file, one file per search input, or both.",
            "default": "combined"
          },
          "csvFilename": {
            "title": "Combined CSV filename",
            "minLength": 1,
            "maxLength": 160,
            "type": "string",
            "description": "Used only for Combined CSV or Combined and separate files. Separate-only exports use filenames derived from each product keyword, supplier keyword, or image.",
            "default": "alibaba_results.csv"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}