# Verified Open Software Bounties & Buyer Intent (`wintergreen_laksa/my-actor`) Actor

Find fresh, source-verified software bounties with visible budgets, direct claim paths, timestamps, and strict filters for mirrors, filled tasks, spam, and unfunded posts. Optional filters cover n8n and AI automation buyer demand.

- **URL**: https://apify.com/wintergreen\_laksa/my-actor.md
- **Developed by:** [蕾 虞](https://apify.com/wintergreen_laksa) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $20.00 / 1,000 verified demands

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Verified Open Software Bounties & Buyer Intent

Find **fresh, evidence-backed public software bounties and A/B buyer demand**. The default mode returns open software bounties with visible spend evidence. Optional filters target n8n, Make.com, CRM/API integration, AI agents, Vapi/Twilio, PDF/OCR, and browser/data automation.

### What counts as verified demand

- **A — explicit spend event:** a public, open request with both a real implementation need and visible budget, bounty, reward, tender, or other spend evidence.
- **B — explicit demand:** a buyer publicly asks for a developer, consultant, contractor, vendor, or implementation help, but the budget is not public.
- **C/D are excluded:** funding, hiring growth, generic news, product interest, market discussion, and guessed needs are never returned as buyer intent.

Every billed item has a source URL, an evidence summary, a public contact path, a publication timestamp, and `last_verified`. If an item cannot be verified, it is not output and is not billed.

Verification means the public source was reachable, the request was open at collection time, and the source contained an explicit spend claim. It does not independently guarantee escrow, payment, buyer identity, or future availability. Users must review the source and platform terms before doing work.

### Input

```json
{
  "capability": "Any software bounty",
  "industry": "Any",
  "country": "Any",
  "max_age_hours": 168,
  "max_results": 20
}
```

Use `Any` for industry or country when the public source does not state that attribute. A restrictive value intentionally produces zero results rather than guessing.

### Output

Each dataset item includes buyer identity/type, need, source and evidence, timestamps, budget and deadline when public, contact path, A/B class, buying stage, intent/freshness/actionability/confidence scores, verification status, and a stable demand ID for deduplication.

### Pricing

The primary PPE event is `verified-demand`: **$0.02 per newly delivered verified dataset item**. One event maps to one visible item. Zero new verified items means zero `verified-demand` charges. When all opportunities were already delivered, the Actor returns one transparent `delivery_status: "previously_seen"` fallback through the low-cost default dataset event. When no opportunity currently matches, it returns a `record_type: "status"` item explaining that result. Both fallback types have `billable_verified_demand: false`; neither is charged as a new verified demand. The standard `apify-actor-start` event remains at Apify's recommended $0.00005. Platform usage is included so cost is predictable and the Actor can qualify for agentic payments.

### Data-source and access boundaries

V1 uses only public, unauthenticated sources intended for public access: official Algora project bounty pages cross-checked against GitHub's public Issues API, GitHub's public Issues Search API with repository-reputation verification, and the Hacker News public Algolia API. GitHub recall covers both `bounty` and `reward` labels in the default mode; structured cash templates, including CNY amounts, are normalized, and known elapsed deadlines are rejected. It does not bypass logins, CAPTCHAs, paywalls, robots rules, or access controls. It does not scrape or redistribute Upwork/Freelancer listings. Promotional posting, backlink, spam, unfunded, precommit, testnet-token, controlled demo/rehearsal, personal-experience review, and external-content publication tasks are excluded. Partial source failures are surfaced in the audit output instead of being silently treated as a clean scan. Source content remains subject to its original publisher's terms; the Actor returns short evidence summaries and direct source links, not copied pages.

### Reliability and limits

The Actor caps results at 50, memory at 256 MB, request timeouts, and retries a rate-limited source once. It uses no paid LLM or external paid API. If all sources are unreachable, the run fails before emitting or billing unverifiable items. Demand IDs and persistent seen-state prevent the same source demand from being billed repeatedly; any previously seen fallback is explicitly labeled and uses the default dataset event rather than `verified-demand`.

### Repeatable opportunity audit

Run `npm run scan` to execute the same strict public-source collection and classification path without emitting or charging Actor dataset events. The command prints a versioned JSON report with its timestamp, normalized input, collected/accepted counts, rejection reasons, source errors, and only the minimal fields needed to audit accepted opportunities. Each run also appends the report to `work/opportunity-scans/history.jsonl` and atomically refreshes `latest.json`. Records form a SHA-256 chain; the scanner verifies the complete prior chain before appending, so modified or truncated history is detected rather than silently extended. Optional flags are `-- --max-age-hours=2160 --max-results=20`, `--audit-dir=/absolute/path`, and `--no-audit`.

# Actor input Schema

## `capability` (type: `string`):

Use Any software bounty for funded open issues, or select an AI automation capability.

## `industry` (type: `string`):

Optional industry keyword. Use Any for no industry restriction.

## `country` (type: `string`):

Optional country keyword. Use Any for no country restriction.

## `max_age_hours` (type: `integer`):

Only return demand first published within this window.

## `max_results` (type: `integer`):

Hard cap on charged dataset items.

## Actor input object example

```json
{
  "capability": "Any software bounty",
  "industry": "Any",
  "country": "Any",
  "max_age_hours": 168,
  "max_results": 20
}
```

# Actor output Schema

## `verifiedDemands` (type: `string`):

Verified demand records written to the default dataset.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("wintergreen_laksa/my-actor").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("wintergreen_laksa/my-actor").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call wintergreen_laksa/my-actor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,wintergreen_laksa/my-actor"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/pDnmJRmMpO7aWh3cj/builds/XWZ0aR9HIZtzbw2da/openapi.json
