{
  "openapi": "3.0.1",
  "info": {
    "title": "Alibaba Supplier Finder",
    "description": "Find Alibaba manufacturers and trading companies by keyword, category and country. One row per company, never one per listing: verification status, years on the marketplace, buyer rating, order history, trade volume, response speed, plus a sample product with its price and minimum order.",
    "version": "0.0",
    "x-build-id": "P0AiYSGYmvQ5wIXQd"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/apt_marble~alibaba-supplier-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-apt_marble-alibaba-supplier-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/apt_marble~alibaba-supplier-finder/runs": {
      "post": {
        "operationId": "runs-sync-apt_marble-alibaba-supplier-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/apt_marble~alibaba-supplier-finder/run-sync": {
      "post": {
        "operationId": "run-sync-apt_marble-alibaba-supplier-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",
        "properties": {
          "keywords": {
            "title": "Product keywords",
            "type": "array",
            "description": "What the suppliers you want should make or sell, for example \"bluetooth speaker\". Each keyword searches the whole site for companies. Add a category id below to search inside one category instead.",
            "default": [
              "bluetooth speaker"
            ],
            "items": {
              "type": "string"
            }
          },
          "categoryIds": {
            "title": "Category ids",
            "type": "array",
            "description": "Numeric category ids to browse, for example 201189203. You can paste a full category address and the id will be taken from it. Leave empty to search by keyword only.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "supplierCountries": {
            "title": "Supplier countries",
            "type": "array",
            "description": "Two-letter codes of the countries the suppliers should be based in, for example CN, IN, VN, TR, US. Leave empty for suppliers anywhere.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country you are buying from",
            "enum": [
              "us",
              "gb",
              "de",
              "fr",
              "es",
              "it",
              "nl",
              "pl",
              "ca",
              "au",
              "br",
              "mx",
              "ru",
              "sa",
              "ae",
              "il",
              "kr",
              "jp",
              "in",
              "sg",
              "cl",
              "za"
            ],
            "type": "string",
            "description": "Which country's version of the marketplace to read. It decides the currency prices are quoted in. Every row also states the currency its own figures came back in, so you always know what a number means.",
            "default": "us"
          },
          "maxSuppliers": {
            "title": "Maximum suppliers",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "How many distinct companies to return in total. Companies are counted once each, however many of their listings appear.",
            "default": 100
          },
          "maxPagesPerTarget": {
            "title": "Maximum pages per search",
            "minimum": 1,
            "maximum": 417,
            "type": "integer",
            "description": "How deep to go into each search before moving on. More pages find more companies but take longer.",
            "default": 10
          },
          "searchSupplierDirectory": {
            "title": "Search the supplier directory",
            "type": "boolean",
            "description": "The company-first search. This is what keywords use, and it is the only place transaction level, historic order count and historic trade value come from. Turn it off only if you are browsing categories alone.",
            "default": true
          },
          "searchProductListings": {
            "title": "Search the product listings",
            "type": "boolean",
            "description": "Browse a category's listings and collect the company behind each one. This is what category ids use, and it is the source that honours the supplier-country filter most precisely.",
            "default": true
          },
          "includeFactoryRankings": {
            "title": "Include factory rankings",
            "type": "boolean",
            "description": "Add the site's published leading factories for each category id, with their rank, six-month trade band, on-time delivery rate and response time. Not every category has a published ranking.",
            "default": false
          },
          "verifiedOnly": {
            "title": "Verified suppliers only",
            "type": "boolean",
            "description": "Keep only companies confirmed as inspected and verified. Verification status is only known for companies found through the supplier directory or the factory rankings, and a company whose status is not published is removed rather than assumed to be verified.",
            "default": false
          },
          "tradeAssuranceOnly": {
            "title": "Trade Assurance suppliers only",
            "type": "boolean",
            "description": "Keep only companies that offer the site's own order protection. Read this one carefully: order-protection status is published ONLY in the factory rankings, so switching this on without also switching on Include factory rankings (with a category id) removes every company found. The run says so plainly when it happens.",
            "default": false
          },
          "excludePromoted": {
            "title": "Exclude promoted placements",
            "type": "boolean",
            "description": "Drop companies that were found only through a paid placement in the results.",
            "default": false
          },
          "minSupplierYears": {
            "title": "Minimum years on the marketplace",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "Keep only companies that have held their paid membership for at least this many years."
          },
          "minTransactionLevel": {
            "title": "Minimum transaction level",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "The site's own 0 to 10 scale for how much business a company has done. Only known for companies found through the supplier directory."
          },
          "minStoreRating": {
            "title": "Minimum supplier rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Keep only companies rated at least this highly by their buyers, out of 5. Companies with no rating yet are not kept when this is set."
          },
          "parallelReads": {
            "title": "Parallel searches",
            "minimum": 1,
            "maximum": 3,
            "type": "integer",
            "description": "How many category searches to run at once. One is the gentlest on the source and the most reliable; three is the most this actor will do.",
            "default": 1
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}