Co APIagentskills.co.il ↗
Access AgentSkills.co.il's public changelog and newsletter archive via 3 endpoints. Filter by date, keyword, and retrieve full issue content in structured JSON.
What is the Co API?
The AgentSkills API exposes 3 endpoints covering the public changelog and newsletter archive from agentskills.co.il, a Hebrew-language product platform for real estate agents in Israel. The list_announcements endpoint returns dated changelog releases with per-item type labels, titles, and descriptions. list_newsletter_issues and get_newsletter_issue give structured access to the newsletter archive including section-level content, intro text, and call-to-action links.
curl -X GET 'https://api.parse.bot/scraper/9b94f31e-cc0a-45c8-ba56-23e7ed034003/list_announcements?query=%D7%A1%D7%A7%D7%99%D7%9C' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace agentskills-co-il-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Skills IL Announcements API — bounded, re-runnable."""
from parse_apis.agentskills_co_il_api import SkillsIL, IssueNotFound
client = SkillsIL()
# Browse recent changelog announcements with a keyword filter.
for ann in client.announcements.list(query="סקיל", limit=3):
print(ann.date, ann.version, "—", len(ann.items), "items")
for item in ann.items:
print(" ", item.kind_label, item.title)
# List newsletter issues and drill into the first one's full content.
issue_summary = client.issue_summaries.list(limit=1).first()
if issue_summary is not None:
print(issue_summary.title, issue_summary.date)
# Navigate from summary to full issue detail.
try:
full_issue = issue_summary.details()
except IssueNotFound:
print("Issue was removed since listing.")
else:
print(full_issue.title, "—", full_issue.intro[:80] if full_issue.intro else "")
for section in full_issue.sections:
print(" §", section.heading or "(sign-off)")
if section.link_url:
print(" →", section.link_text, section.link_url)
# Point-lookup by a known issue id discovered from the listing.
if issue_summary is not None:
detail = client.issues.get(issue_id=issue_summary.issue_id)
print(detail.issue_id, len(detail.sections), "sections")
print("exercised: announcements.list / issue_summaries.list / details / issues.get")
Lists the site's public changelog announcements, newest first. One record per dated release (date, version) with its typed items (feature/fix/improvement label as shown on the site in Hebrew, title, optional description). The whole changelog is read in one request (about 100 dated entries at build time); from_date/to_date restrict entries by ISO date and query keeps only entries that have at least one item whose title or description contains the keyword (case-insensitive substring; items not matching are dropped from the entry). A window or keyword that matches nothing returns an empty entries array with matched_count 0. limit caps the returned entries (max 200); truncated tells whether more matched than were returned. The site publishes no event or live-session listings; this is its only dated announcement feed besides the newsletter.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum entries returned, clamped to 200. |
| query | string | Keyword matched case-insensitively against item title and description (site content is Hebrew). Omitted = all items. |
| to_date | string | Latest entry date to include, ISO date YYYY-MM-DD (inclusive). Omitted = no upper bound. |
| from_date | string | Earliest entry date to include, ISO date YYYY-MM-DD (inclusive). Omitted = no lower bound. |
{
"type": "object",
"fields": {
"entries": "array of changelog releases, newest first: date (ISO), version (semver string without the v prefix; null when the entry carries no version badge), items",
"truncated": "true when matched_count exceeds limit",
"matched_count": "number of entries matching the filters before limit",
"total_entries": "number of dated entries on the changelog page",
"entries[].items": "array of announcement items: kind_label (site's Hebrew type badge, e.g. feature/fix), title, description (nullable)"
},
"sample": {
"data": {
"entries": [
{
"date": "2026-10-13",
"items": [
{
"title": "סקיל חדש: מכתבי דרישה לצרכנים",
"kind_label": "פיצ'ר",
"description": null
}
],
"version": "1.182.0"
},
{
"date": "2026-08-19",
"items": [
{
"title": "סקיל חדש: הוצאה לפועל, הצד של החייב",
"kind_label": "פיצ'ר",
"description": "רוב האנשים מגלים שנפתח נגדם תיק רק כשחשבון הבנק נחסם."
}
],
"version": null
}
],
"truncated": false,
"matched_count": 89,
"total_entries": 106
},
"status": "success"
}
}About the Co API
Changelog Announcements
The list_announcements endpoint returns the full changelog from agentskills.co.il, newest first, spanning roughly 100 dated releases at time of build. Each entry includes a date (ISO 8601), an optional version (semver string without the v prefix, or null when absent), and an items array. Each item carries a kind_label — the site's Hebrew badge for feature, fix, or improvement — plus a title and a nullable description. You can narrow results with from_date and to_date (both inclusive, ISO date strings), a case-insensitive query matched against title and description, and a limit clamped to 200. The response includes total_entries, matched_count, and a truncated flag so you know when results have been cut.
Newsletter Archive
list_newsletter_issues returns a pageable list of newsletter issues, newest first. Each record exposes an issue_id slug, a date, the site's Hebrew kind_label, a title, and a short summary. The same from_date, to_date, query, and limit filters apply. At build time the archive holds 22 issues; total_issues and matched_count are always returned so you can track coverage.
Full Issue Content
get_newsletter_issue accepts an issue_id from the list endpoint and returns the complete issue: date, kind_label, title, intro (opening paragraphs as a single nullable string), and a sections array. Each section carries a nullable heading, nullable body text, and optional link_text / link_url for call-to-action links. The closing sign-off is represented as a section with a null heading. This structure lets you reconstruct the full issue without any additional calls.
The Co API is a managed, monitored endpoint for agentskills.co.il — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when agentskills.co.il changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official agentskills.co.il API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track new feature releases for real estate agent tools by polling
list_announcementswith afrom_datefilter. - Build a Hebrew-language changelog digest by querying items where
kind_labelindicates a feature or fix. - Search past newsletter issues by keyword using the
queryparameter onlist_newsletter_issuesto find coverage of a specific topic. - Retrieve full newsletter section text and CTA links via
get_newsletter_issueto archive or republish content. - Monitor version history by extracting the
versionfield from changelog entries to map features to semver releases. - Generate a date-bounded report of product changes by combining
from_dateandto_dateonlist_announcements.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does agentskills.co.il have an official developer API?+
What does `list_announcements` return for entries that have no version number?+
version field is null for changelog entries that carry no semver string. The date, kind_label, title, and description fields are still returned normally for those entries.Does the API cover content behind login, such as agent-specific dashboards or course material?+
How fresh is the changelog data — is it updated in real time?+
Can I retrieve individual changelog entries by version number or ID rather than filtering by date?+
list_announcements supports date-range and keyword filters but not a direct lookup by version or entry ID. You can fork this API on Parse and revise it to add a version-specific lookup endpoint.