{
  "openapi": "3.0.1",
  "info": {
    "title": "Buyer Intent Lead Finder: Bluesky, Hacker News, Forums, Lemmy",
    "description": "Find people asking for a product like yours. Give keywords (e.g. CRM); get recent public Bluesky, Hacker News, forum, Stack Exchange, Mastodon and Lemmy posts with buying intent: URL, text, handle, date, intent score 0-100 and reasons. $0.005/lead.",
    "version": "1.0",
    "x-build-id": "cT38QFoA0NrO3cHGg"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/magnova~buyer-intent-lead-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-magnova-buyer-intent-lead-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/magnova~buyer-intent-lead-finder/runs": {
      "post": {
        "operationId": "runs-sync-magnova-buyer-intent-lead-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/magnova~buyer-intent-lead-finder/run-sync": {
      "post": {
        "operationId": "run-sync-magnova-buyer-intent-lead-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": [
          "keywords"
        ],
        "properties": {
          "keywords": {
            "title": "Product or keyword phrases",
            "type": "array",
            "description": "What you sell, in the words buyers use: a product category, a competitor name or a problem. Each phrase is searched on every source and a post must contain all its words. One to 20 phrases. Examples: CRM, invoicing software, Notion alternative, password manager.",
            "items": {
              "type": "string"
            }
          },
          "intentPhrases": {
            "title": "Extra intent phrases (optional)",
            "type": "array",
            "description": "Optional. Your own buying-signal phrases on top of the built-in ones (looking for, can anyone recommend, alternative to, is there a tool, what do you use, switching from, willing to pay and more). Each phrase found in a post adds 25 points. Example: need a quote, cheaper than.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "sources": {
            "title": "Sources",
            "type": "array",
            "description": "Which public sources to search. Leave empty for Bluesky, Hacker News, Discourse forums, Stack Exchange, Mastodon and Lemmy (plus Reddit until Reddit retires its public feeds on Nov 13, 2026). dev.to is off by default because articles rarely show buying intent. Example: [\"hackernews\", \"discourse\"].",
            "items": {
              "type": "string",
              "enum": [
                "bluesky",
                "hackernews",
                "discourse",
                "stackexchange",
                "mastodon",
                "lemmy",
                "devto",
                "reddit"
              ],
              "enumTitles": [
                "Bluesky (public posts)",
                "Hacker News (stories + comments)",
                "Discourse forums (Spiceworks, Privacy Guides, Level1Techs, TrueNAS and 21 more)",
                "Stack Exchange (questions, CC BY-SA)",
                "Mastodon (public hashtag timelines)",
                "Lemmy (public posts, federated)",
                "dev.to (articles)",
                "Reddit (search feed; Reddit retires it on Nov 13, 2026)"
              ]
            }
          },
          "lastNDays": {
            "title": "Look back (days)",
            "minimum": 1,
            "maximum": 60,
            "type": "integer",
            "description": "Only posts from the last N days (1-60). Use 1 with a daily Schedule for monitoring. Example: 7.",
            "default": 7
          },
          "minIntentScore": {
            "title": "Minimum intent score",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Only return leads scoring at least this (0-100). 40 needs at least one buying-intent phrase; 60+ is strong intent (a question plus a clear ask). Set 0 to get every keyword mention. Example: 40.",
            "default": 40
          },
          "maxLeadsPerSource": {
            "title": "Max leads per source",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Highest-scoring leads kept per source. Caps your cost: at most this many x number of sources leads are charged. Example: 50.",
            "default": 50
          },
          "languages": {
            "title": "Languages",
            "type": "array",
            "description": "ISO language codes to keep when a source reports the post language (Bluesky, Mastodon). Empty list = all languages. Example: en, de.",
            "default": [
              "en"
            ],
            "items": {
              "type": "string"
            }
          },
          "stackExchangeSites": {
            "title": "Stack Exchange sites",
            "type": "array",
            "description": "Stack Exchange site names to search (api.stackexchange.com 'site' values). Software Recommendations (softwarerecs) is where people ask for tools. Example: softwarerecs, webapps, superuser, stackoverflow, wordpress.",
            "default": [
              "softwarerecs",
              "webapps",
              "superuser"
            ],
            "items": {
              "type": "string"
            }
          },
          "mastodonInstances": {
            "title": "Mastodon instances",
            "type": "array",
            "description": "Mastodon servers whose public hashtag timeline is read. Each keyword becomes a hashtag (\"project management\" -> #projectmanagement). Up to 5. Example: mastodon.social, fosstodon.org.",
            "default": [
              "mastodon.social"
            ],
            "items": {
              "type": "string"
            }
          },
          "discourseForums": {
            "title": "Discourse forums",
            "type": "array",
            "description": "Public Discourse forums to search (host names). Leave empty for the built-in list of 25 IT, privacy, self-hosting, Linux, Mac, e-commerce, no-code and creative-software communities such as community.spiceworks.com, discuss.privacyguides.net, forum.level1techs.com and talk.macpowerusers.com. Add the forum where your buyers hang out. Up to 40. Example: community.spiceworks.com.",
            "items": {
              "type": "string"
            }
          },
          "lemmyInstances": {
            "title": "Lemmy instances",
            "type": "array",
            "description": "Lemmy servers to search (their search covers posts federated from other servers too). Up to 3. Example: lemmy.world.",
            "default": [
              "lemmy.world"
            ],
            "items": {
              "type": "string"
            }
          },
          "seenStore": {
            "title": "Seen-leads store (monitor mode)",
            "type": "string",
            "description": "Optional. Pick or create a key-value store in your account (e.g. one named my-lead-monitor). The Actor remembers every lead it returned there, marks each lead isNew, and with 'Only new leads' on skips leads you already got. Use with an Apify Schedule."
          },
          "onlyNew": {
            "title": "Only new leads",
            "type": "boolean",
            "description": "Needs a seen-leads store. Skip leads returned in earlier runs so a daily schedule only delivers (and charges for) fresh ones. Example: true.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}