Discover/Gov API
live

Gov APIsayistay.gov.tr

Access Turkish Court of Accounts audit reports, General Assembly decisions, Appeals Board rulings, and homepage announcements via a structured REST API.

Endpoint health
verified 3d ago
get_report_subcategories
list_reports
get_homepage_announcements
get_report_categories
search_reports
8/8 passing latest checkself-healing
Endpoints
9
Updated
26d ago

What is the Gov API?

This API exposes 9 endpoints covering the full content hierarchy of sayistay.gov.tr — Turkey's supreme audit institution. Starting with get_report_categories, you can traverse top-level and subcategory classifications, list paginated audit reports, retrieve per-report file download links and metadata, search across all categories by keyword, and pull full-text judicial decisions from both the General Assembly and the Appeals Board.

Try it

No input parameters required.

api.parse.bot/scraper/7edfaad5-73f2-4f3f-834d-b6162de144c0/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/7edfaad5-73f2-4f3f-834d-b6162de144c0/get_report_categories' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 sayistay-gov-tr-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: Sayistay SDK — Turkish Court of Accounts audit reports and decisions."""
from parse_apis.turkish_court_of_accounts_sayistay_api import (
    Sayistay, Category, Subcategory, Report, ReportDetail,
    AppealsBoardDecision, GeneralAssemblyDecision, SearchResult,
    Announcement, NotFoundError,
)

client = Sayistay()

# List top-level report categories
for cat in client.categories.list(limit=5):
    print(cat.name, cat.id, cat.slug)

# Drill into subcategories of the first category with children
cat = client.categories.list(limit=10).first()
if cat:
    for sub in cat.subcategories.list(limit=3):
        print(sub.name, sub.id)

        # List reports in this subcategory
        report = sub.reports(limit=1).first()
        if report:
            # Get full report detail via navigation
            detail = report.detail()
            print(detail.title, detail.url)
            for f in detail.files:
                print(f.name, f.url)
        break

# Search reports by keyword
for result in client.searchresults.search(query="belediye", limit=3):
    print(result.title, result.url, result.description)

# Fetch a General Assembly decision by ID with error handling
try:
    decision = client.generalassemblydecisions.get(id="42134")
    print(decision.id, decision.url, decision.content[:100])
except NotFoundError as exc:
    print(f"Decision not found: {exc}")

# List Appeals Board decisions
for d in client.appealsboarddecisions.list(limit=3):
    print(d.id, d.date, d.department, d.decision_summary[:60])

# Homepage announcements
for ann in client.announcements.list(limit=3):
    print(ann.title, ann.url)

print("exercised: categories.list / subcategories.list / reports / detail / search / get decision / appeals list / announcements")
All endpoints · 9 totalmissing one? ·

Returns all top-level audit report categories available on the Sayıştay reports page. Each category includes an id, slug, name, and URL. Use category id and slug as inputs to get_report_subcategories or list_reports.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "categories": "array of category objects each with id, slug, name, and url"
  },
  "sample": {
    "data": {
      "categories": [
        {
          "id": "16",
          "url": "https://sayistay.gov.tr/reports/category/16-kamuoyu-duyurusu",
          "name": "Kamuoyu Duyurusu",
          "slug": "kamuoyu-duyurusu"
        },
        {
          "id": "5",
          "url": "https://sayistay.gov.tr/reports/category/5-kamu-idareleri-denetim-raporlari",
          "name": "Kamu İdareleri Denetim Raporları",
          "slug": "kamu-idareleri-denetim-raporlari"
        }
      ]
    },
    "status": "success"
  }
}

About the Gov API

Audit Report Discovery and Detail

The get_report_categories endpoint returns all top-level categories, each with an id, slug, name, and url. Subcategories are a separate call via get_report_subcategories, which requires the parent slug and category_id — note that only certain parent categories (such as kamu-idareleri-denetim-raporlari) have children; others return an empty array. Once you have a target category or subcategory, list_reports accepts a page parameter for pagination and returns an array of report objects with title, year, url, and slug. Passing a report slug to get_report_detail yields the full picture: a files array of named download links, a title string, and a metadata object of key-value pairs such as audit year and institution name.

Search and Keyword Filtering

search_reports accepts a free-text query parameter (e.g. belediye for municipal reports) and returns matching records with title, url, and a description snippet. This is useful for cross-category lookups without knowing which category a report belongs to. The search operates across the full report catalog, not just a single category.

Judicial Decisions

Two decision endpoints cover Sayıştay's judicial output. list_general_assembly_decisions and list_appeals_board_decisions both support optional query, start, and length parameters for keyword filtering and cursor-style pagination. The General Assembly listing also returns a recordsTotal integer for sizing result sets. get_general_assembly_decision_detail takes a decision id (obtainable from decision text references) and returns the content string containing the full decision text, a url, and a metadata object.

Homepage Announcements

get_homepage_announcements requires no inputs and returns an announcements array of objects with title and url, reflecting current featured links and institutional notices from the Sayıştay homepage. This endpoint is suitable for monitoring new publications or institutional updates without parsing the full report catalog.

Reliability & maintenanceVerified

The Gov API is a managed, monitored endpoint for sayistay.gov.tr — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when sayistay.gov.tr 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 sayistay.gov.tr 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.

Last verified
3d ago
Latest check
8/8 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Aggregating annual audit reports for specific Turkish public institutions by filtering with list_reports and a known subcategory ID
  • Building a full-text search index of Sayıştay audit reports using search_reports with various municipal or ministry keywords
  • Downloading audit report documents programmatically via the files array returned by get_report_detail
  • Tracking new General Assembly decisions by polling list_general_assembly_decisions with start and length pagination parameters
  • Retrieving the complete text of a specific Appeals Board or General Assembly ruling by decision ID for legal research
  • Monitoring new institutional announcements and featured publications from the Sayıştay homepage via get_homepage_announcements
  • Mapping the full category and subcategory tree of Turkish public audit report types using get_report_categories and get_report_subcategories
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Sayıştay provide an official public developer API?+
No. sayistay.gov.tr does not publish an official developer API or documented data access layer for its audit reports and decisions.
What does `get_report_detail` return beyond basic metadata?+
get_report_detail returns the report title, the page url, a metadata object of key-value pairs (such as institution name and audit year), and a files array where each entry has a name and a direct download url for the report document. It does not return the parsed body text of the PDF documents themselves.
Does `get_report_subcategories` work for every parent category?+
No. Only parent categories that have defined child subcategories — such as kamu-idareleri-denetim-raporlari (category_id 5) — return results. Passing a leaf category returns an empty subcategories array. Use get_report_categories first to identify valid parent slugs before calling this endpoint.
Does the API cover Appeals Board decision detail pages, similar to `get_general_assembly_decision_detail`?+
Not currently. The API includes list_appeals_board_decisions for paginated listing and keyword filtering, but there is no dedicated endpoint for retrieving the full text and metadata of an individual Appeals Board decision by ID. You can fork this API on Parse and revise it to add that detail endpoint.
Are legislative texts or Sayıştay law and regulation documents included?+
Not currently. The API covers audit reports, General Assembly decisions, Appeals Board decision listings, and homepage announcements. Legal texts and regulatory documents referenced on the site are not exposed. You can fork this API on Parse and revise it to add an endpoint targeting the legislation section.
Page content last updated . Spec covers 9 endpoints from sayistay.gov.tr.
Related APIs in Government PublicSee all →
examplecourt.gov API
Search and retrieve court judgments, case details, and legal metadata from a national court reporting portal, with support for advanced filtering by court and case category. Access complete case information including full text and browse paginated results to find relevant legal precedents.
tuik.org.tr API
Access Turkey's official economic and social statistics including real-time CPI, GDP, and unemployment indicators, along with detailed press releases and historical data series. Search and retrieve specific statistical themes, economic bulletins, and key economic indicators directly from TÜİK's official data portal.
tuik.gov.tr API
Access Turkey's official economic statistics, including inflation data, popular indicators, and press releases from TÜIK. Retrieve time series charts and detailed economic themes to track Turkey's key economic metrics and trends.
portaltransparencia.gov.br API
Search and analyze Brazilian government spending, including public expenses, contracts, civil servant salaries, benefits, travel records, and sanctions data. Track government transparency information by department, budget programs, and public tenders all in one place.
transparenciaportal.gov.br API
Track and analyze Brazilian government spending by accessing detailed records on politician amendments, public servant salaries, beneficiary payments, and government payment card transactions. Monitor how public funds are allocated across different government bodies and identify spending patterns through comprehensive financial data from Brazil's official transparency portal.
egazette.nic.in API
Access official Indian gazette publications including recent Extraordinary and Weekly gazettes, browse them by category, and explore the complete directory of available documents. Quickly find and retrieve the latest government publications all in one place.
turkishexporter.com.tr API
Search and explore Turkish importers, exporters, and companies with detailed business profiles and trade requests to find potential trading partners. Browse available categories and databanks to discover new business opportunities in the Turkish trade market.
jurisprudencia.tst.jus.br API
Search and retrieve judicial decisions from Brazil's Superior Labor Court with filters by date, court body, and keywords to access decision summaries, outcomes, and full texts. Quickly find relevant labor law precedents and court rulings to support legal research and case analysis.