{
  "openapi": "3.0.1",
  "info": {
    "title": "Canada LMIA Employers List – TFWP Hiring Leads by NOC",
    "description": "Search the official ESDC Positive LMIA Employers List (Temporary Foreign Worker Program) from open.canada.ca. Filter by province, city, NOC occupation, program stream, quarter and positions, group by employer, or get new LMIA employers. $1 per 1,000.",
    "version": "0.1",
    "x-build-id": "DYoW80G7Pyf28GqFA"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/gazidev~canada-lmia-employers/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-gazidev-canada-lmia-employers",
        "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/gazidev~canada-lmia-employers/runs": {
      "post": {
        "operationId": "runs-sync-gazidev-canada-lmia-employers",
        "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/gazidev~canada-lmia-employers/run-sync": {
      "post": {
        "operationId": "run-sync-gazidev-canada-lmia-employers",
        "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": {
          "latestQuarterOnly": {
            "title": "Latest quarter only",
            "type": "boolean",
            "description": "Use only the newest published quarter (one small file, fastest). Turn off to use the quarter range below (2014 to today).",
            "default": true
          },
          "fromQuarter": {
            "title": "From quarter",
            "type": "string",
            "description": "First quarter, e.g. `2024Q1` or `2023` (used when 'Latest quarter only' is off). Empty = from the first list (2014)."
          },
          "toQuarter": {
            "title": "To quarter",
            "type": "string",
            "description": "Last quarter, e.g. `2025Q4`. Empty = latest."
          },
          "outputMode": {
            "title": "Output",
            "enum": [
              "rows",
              "employers"
            ],
            "type": "string",
            "description": "Rows mirror the official list. Employers merges an employer's lines (same normalised name, city and province) and sorts by total approved positions.",
            "default": "rows"
          },
          "provinces": {
            "title": "Provinces / territories",
            "type": "array",
            "description": "Names or codes, e.g. `British Columbia`, `ON`, `AB`. Empty = all of Canada.",
            "items": {
              "type": "string"
            }
          },
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "Exact city names from the address, e.g. `Vancouver`, `Toronto` (case-insensitive).",
            "items": {
              "type": "string"
            }
          },
          "occupations": {
            "title": "Occupation / NOC",
            "type": "array",
            "description": "NOC code prefixes (`63200`, `7`, `21231`) or occupation words (`cook`, `truck driver`, `software`). NOC 2021 (5 digits) from 2024Q2 on, NOC 2011 (4 digits) before.",
            "items": {
              "type": "string"
            }
          },
          "programStreams": {
            "title": "Program streams",
            "type": "array",
            "description": "Substring match, e.g. `High Wage`, `Low Wage`, `Global Talent`, `Primary Agriculture`, `Agricultural`, `Permanent Residence`.",
            "items": {
              "type": "string"
            }
          },
          "employerName": {
            "title": "Employer name contains",
            "type": "string",
            "description": "Case- and punctuation-insensitive, legal suffixes ignored (Inc., Ltd., Corp...)."
          },
          "keyword": {
            "title": "Keyword (any field)",
            "type": "string",
            "description": "Matches employer, occupation, address or stream, e.g. `cook`, `farm`, `Surrey`."
          },
          "minPositions": {
            "title": "Minimum approved positions",
            "minimum": 0,
            "type": "integer",
            "description": "Per row in Rows mode, per employer total in Employers mode.",
            "default": 0
          },
          "onlyNew": {
            "title": "Only new LMIA employers",
            "type": "boolean",
            "description": "Keep only employers (name + province) in the newest selected quarter that had no positive LMIA in the previous quarters below. Great for fresh hiring leads every quarter.",
            "default": false
          },
          "newLookbackQuarters": {
            "title": "Compare with previous N periods",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many earlier published periods count as 'already seen' for 'Only new'.",
            "default": 4
          },
          "maxItems": {
            "title": "Max records",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many records (0 = no limit). You pay only for saved records.",
            "default": 1000
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}