All notable changes to this Actor will be documented in this file.
- Add
prefill to the discriminating input field so Apify's automated daily QA receives a runnable payload. Empty-input runs were tripping the Pydantic model_validate XOR/required-field check inside 100 ms, which after three consecutive days flagged the Actor "Under maintenance" and unlisted it from the Apify Store.
- Regression test
test_proxy_session_id_matches_apify_regex — verifies the
Apify Proxy session_id template satisfies ^[\w._~]+$ (Gate 9).
- Initial release: four input modes —
projectIds, searchQuery, programmeFilter, countryFilter.
- Pydantic v2 XOR validator: exactly one input mode field required.
- Horizon Europe (HORIZON) and Horizon 2020 (H2020) framework programmes supported.
- 20-field
ResultRow per project: funding amounts, coordinator + participants
(organisations and countries), programme + display name + call ID + funding scheme,
start/end dates, status (SIGNED / CLOSED / TERMINATED), objective text, keywords.
- Country filter implemented as post-filter on coordinator country.
includeFullAbstract mode deep-fetches the project detail HTML page via parsel
to surface the untruncated objective; charged as result-row-detailed.
- Single-hit anomaly handled: CORDIS returns
hits.hit as a dict (not a list) when
only one project matches; _ensure_list() normalises every nested array.
- Programme primary selection respects
@attributes.uniqueProgrammePart=true.
- Exponential backoff with
Retry-After for 429 / 503 responses; max 5 attempts.
- Three PPE events:
actor-start ($0.05), result-row ($0.003), result-row-detailed ($0.005).
curl-cffi with Chrome 131 TLS impersonation (ADR-0002 house default).
- Apify Proxy support via
BUYPROXIES94952 group (opt-in via useProxy).