{
  "openapi": "3.0.1",
  "info": {
    "title": "Hiring Signals to Proposals: job posts into B2B sales leads",
    "description": "Hiring signals into sales leads: find companies hiring (LinkedIn jobs and Greenhouse, Lever, Ashby job postings) for roles your agency, AI or service can do instead. Get the tasks you cover, salary vs your price, business email, pitch line and a branded proposal. Hiring intent for B2B outreach.",
    "version": "0.1",
    "x-build-id": "zPajaF6NatEuMTVAo"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/translucent_wire~hiring-signals-to-proposals/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-translucent_wire-hiring-signals-to-proposals",
        "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/translucent_wire~hiring-signals-to-proposals/runs": {
      "post": {
        "operationId": "runs-sync-translucent_wire-hiring-signals-to-proposals",
        "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/translucent_wire~hiring-signals-to-proposals/run-sync": {
      "post": {
        "operationId": "run-sync-translucent_wire-hiring-signals-to-proposals",
        "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": {
          "yourService": {
            "title": "What do you sell?",
            "enum": [
              "ai_receptionist_support",
              "ai_automation_admin",
              "paid_ads",
              "seo_content",
              "social_media",
              "web_development",
              "bookkeeping",
              "recruiting",
              "custom"
            ],
            "type": "string",
            "description": "We find companies hiring for a role your service can do instead, and show which tasks in their job post you can cover.",
            "default": "ai_receptionist_support"
          },
          "monthlyPrice": {
            "title": "Your monthly price (for the cost comparison)",
            "minimum": 0,
            "type": "integer",
            "description": "Your service price per month in the job's currency. Used to compare against hiring a full-time person. 0 hides the comparison."
          },
          "roleKeywords": {
            "title": "Job titles to search",
            "type": "array",
            "description": "Leave empty to use typical titles for your service. Example: 'customer service', 'receptionist', 'PPC specialist'.",
            "items": {
              "type": "string"
            }
          },
          "customKeywords": {
            "title": "Extra task words your service covers (optional)",
            "type": "array",
            "description": "Words that mark a task you can do, e.g. 'appointment', 'invoice', 'Google Ads'. Required for the Custom service.",
            "items": {
              "type": "string"
            }
          },
          "useLinkedIn": {
            "title": "Search LinkedIn job posts",
            "type": "boolean",
            "description": "Runs the public LinkedIn jobs scraper valig/linkedin-jobs-scraper on YOUR Apify account (about $0.28 per 1,000 job posts, billed by that Actor).",
            "default": true
          },
          "location": {
            "title": "Location (LinkedIn)",
            "type": "string",
            "description": "City, state, country or zip code for LinkedIn search."
          },
          "datePosted": {
            "title": "Posted within (LinkedIn)",
            "enum": [
              "r2592000",
              "r604800",
              "r86400",
              "any"
            ],
            "type": "string",
            "description": "Age of the job posts.",
            "default": "r2592000"
          },
          "linkedinJobsPerKeyword": {
            "title": "LinkedIn job posts per title",
            "minimum": 10,
            "maximum": 1000,
            "type": "integer",
            "description": "How many LinkedIn job posts to read for each job title.",
            "default": 25
          },
          "companies": {
            "title": "Or: companies to check (websites or job-board links)",
            "type": "array",
            "description": "Company websites or Greenhouse / Lever / Ashby board links. We read their official public job feeds (often with salary).",
            "items": {
              "type": "string"
            }
          },
          "minFitScore": {
            "title": "Minimum fit score",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "0-100. Higher keeps only roles that match your service closely. Companies below it are not charged.",
            "default": 35
          },
          "maxCompanies": {
            "title": "Maximum companies",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "The run stops at this many companies, so you control the cost.",
            "default": 10
          },
          "findCompanyEmail": {
            "title": "Find company website and business email",
            "type": "boolean",
            "description": "Business email published on the company's own website, with the mail server checked.",
            "default": true
          },
          "includeJobPoster": {
            "title": "Include the job poster's public name and profile (off by default)",
            "type": "boolean",
            "description": "Only as shown publicly on the LinkedIn job post. If you contact people in the EU/UK, you need a business reason, must tell them where you got their details, and must stop when asked (GDPR).",
            "default": false
          },
          "taxesBenefitsPercent": {
            "title": "Employer taxes and benefits (% of salary)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Added to the posted salary to estimate the full cost of hiring.",
            "default": 25
          },
          "proposals": {
            "title": "Branded proposal page for each company",
            "type": "boolean",
            "description": "One page per company: their job, which tasks you cover, the cost comparison and your button. Link in each row (proposalUrl).",
            "default": true
          },
          "maxProposals": {
            "title": "Maximum proposal pages",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Proposal pages are made for your best-fit companies first, up to this number ($0.50 each). Set 0 for a page for every company.",
            "default": 2
          },
          "brandName": {
            "title": "Your company name",
            "type": "string",
            "description": "Shown on proposal pages."
          },
          "brandLogoUrl": {
            "title": "Your logo URL (https)",
            "type": "string",
            "description": "Public https link to your logo image."
          },
          "brandColor": {
            "title": "Your brand colour",
            "type": "string",
            "description": "Hex colour like #2b6cb0."
          },
          "brandContact": {
            "title": "Your contact line",
            "type": "string",
            "description": "e.g. 'Jane Smith, Bright Support Co, jane@brightsupport.com'."
          },
          "brandCtaUrl": {
            "title": "Button link",
            "type": "string",
            "description": "Your booking page or website."
          },
          "brandCtaText": {
            "title": "Button text",
            "type": "string",
            "description": "Text on the button.",
            "default": "Book a free 15-minute call"
          },
          "emailServiceName": {
            "title": "Your service name for the email (optional)",
            "type": "string",
            "description": "How the email names what you offer, e.g. 'Order Desk AI agent' or 'virtual receptionist team'. Leave empty to use the service type."
          },
          "emailOffer": {
            "title": "Offer line for the email (optional)",
            "type": "string",
            "description": "One sentence added to each ready-to-send email, e.g. 'For a first customer the first month is free.'"
          },
          "emailProofUrl": {
            "title": "Demo or case-study link (optional)",
            "type": "string",
            "description": "A video, demo or case study link added to each email as proof of your work."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}