{
  "openapi": "3.0.1",
  "info": {
    "title": "eFinancialCareers Jobs Scraper",
    "description": "[💰 $1.0 / 1K] Extract finance, banking, and fintech job listings from eFinancialCareers. Search by keyword and location, filter by sector, employment type, work arrangement, salary, and posting date, and get structured data including titles, companies, salaries, descriptions, and apply links.",
    "version": "1.0",
    "x-build-id": "LGhBjmsKvvlDRsv1v"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~efinancialcareers-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-efinancialcareers-scraper",
        "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/solidcode~efinancialcareers-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-efinancialcareers-scraper",
        "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/solidcode~efinancialcareers-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-efinancialcareers-scraper",
        "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": {
          "searchQueries": {
            "title": "Search Keywords",
            "maxItems": 50,
            "type": "array",
            "description": "Job titles or keywords to search for, such as 'financial analyst', 'risk manager', or 'quantitative developer'. Each keyword runs a separate search. Leave empty to collect the broadest result set for your location and filters.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, region, or country to search in. Examples: 'New York', 'London', 'Singapore', 'Hong Kong'. Leave empty to search worldwide within the selected region."
          },
          "startUrls": {
            "title": "Direct eFinancialCareers URLs",
            "maxItems": 50,
            "type": "array",
            "description": "Paste full eFinancialCareers search-result URLs (e.g. https://www.efinancialcareers.com/jobs?searchString=...) or individual job-listing URLs to scrape them directly. Useful when you already have a search dialed in on the website. Up to 50 URLs per run.",
            "items": {
              "type": "string"
            }
          },
          "region": {
            "title": "Region / Site Edition",
            "enum": [
              "us",
              "uk",
              "eu",
              "asia",
              "global"
            ],
            "type": "string",
            "description": "Which regional edition of eFinancialCareers to search. This sets the site locale and the default countries shown. Pick the edition closest to where you want jobs.",
            "default": "us"
          },
          "sector": {
            "title": "Sector",
            "enum": [
              "",
              "investment-banking",
              "asset-management",
              "trading",
              "private-equity",
              "hedge-funds",
              "risk-management",
              "compliance",
              "accounting-finance",
              "technology",
              "operations",
              "wealth-management",
              "insurance"
            ],
            "type": "string",
            "description": "Limit results to one finance sector. Leave on 'Any' to include all sectors.",
            "default": ""
          },
          "employmentType": {
            "title": "Employment Type",
            "enum": [
              "",
              "PERMANENT",
              "CONTRACT",
              "TEMPORARY",
              "INTERNSHIP",
              "SELF_EMPLOYED"
            ],
            "type": "string",
            "description": "Filter by contract type. Pick one or leave on 'Any' for all types.",
            "default": ""
          },
          "workArrangement": {
            "title": "Work Arrangement",
            "enum": [
              "",
              "REMOTE",
              "HYBRID",
              "ONSITE"
            ],
            "type": "string",
            "description": "Filter by where the role is performed.",
            "default": ""
          },
          "postedWithinDays": {
            "title": "Posted Within",
            "enum": [
              "",
              "1",
              "3",
              "7"
            ],
            "type": "string",
            "description": "Only show jobs posted within this time period.",
            "default": ""
          },
          "minSalary": {
            "title": "Minimum Salary",
            "minimum": 0,
            "type": "integer",
            "description": "Only show jobs whose advertised salary meets or exceeds this amount, in the region's local currency (USD / GBP / EUR). Many finance listings hide salary — those are excluded when a minimum is set. Leave empty (or 0) for no minimum."
          },
          "maxResultsPerQuery": {
            "title": "Max Results per Query",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of job listings to collect per search keyword (or per start URL). Set to 0 to collect all available results across pagination. Results are fetched in pages of 50: the actor stops once your cap is reached but always keeps the whole final page, so a small cap (e.g. 10) can return up to a full page more than you asked for. Listings repeated across pages are deduplicated, so the final count can also run slightly below your cap.",
            "default": 100
          },
          "includeDescription": {
            "title": "Fetch Full Job Descriptions",
            "type": "boolean",
            "description": "Include the full job description text for each listing. Leave on for the most complete data. Turn off for lighter records when you only need titles, companies, locations, and salaries.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}