Skip to main content
Browsing is free. The directory covers verified listings; it does not imply that every upstream endpoint has an accepted execution contract.

List sources

Requires sources:read.
The response has sources, total for this filter, catalog_total for the entire directory and next_offset for pagination. Counts are live and can change. Each provider group is counted once. Pulse Network can contain many nested services; service_count is the full number and services contains the matching services in this query. For each row:
  • endpoint_count counts registered endpoints, including endpoints that cannot currently run.
  • capabilities can include advertised capabilities.
  • executable_capabilities lists capabilities accepted by the current runtime.
  • available_in_v2 is true when at least one operation in the source group can run.
  • readiness describes contract and evidence coverage. An unmeasured endpoint is not proof of reliable execution.

Read one executable source

Requires sources:read. Use a source’s returned slug, for example:
The response lists only currently executable operations. Each operation includes its id, source_id, input fields and schemas, outputs, current buyer price and optional variants. For a provider group, each operation names the member service that actually runs it. Use that operation and its inputs in Call a source. A directory entry with no accepted operation can return 404 source_not_found on this detail route. It remains discoverable so you can see its published metadata; it cannot be bought through the buyer API until a contract is accepted.

Resolve a European capability to fitting sources

Requires sources:read. This read-only route accepts one of eu.company.profile, eu.tenders.search or eu.statistics.query, an optional two-letter country, and structured input using the fact-type names returned by source detail. An optional operation narrows the response to one metric or lookup operation within the capability.
The response returns primary and supplementary sources with only their active, accepted operations. Each operation names its exact endpoint, required and missing inputs, output fields, freshness interval, current price, and run_url. ready means the supplied inputs fit that operation’s schema; it is not evidence that the upstream source has a record for the subject. ready_source_count counts sources with at least one ready operation. No provider is called and no balance is charged by resolution. For Eurostat data, send a dataset code in eurostat.input.dataset and a country. Apiosk fills the eurostat.input.geo endpoint parameter from that country, including Eurostat’s EL and UK codes for Greece and the United Kingdom. It does not choose a dataset or statistical measure on your behalf. To let Apiosk choose source operations from the structured input, create one priced plan:
This route requires ask:create and accepts the same body as resolution. It returns the saved plan with one total ceiling and no purchase. Review the exact steps, then call POST /v2/asks//run with ask:execute and max_spend to approve it once. The ordinary worker executes the selected sources and returns saved, sourced results. Capability plans and runs also return normalized_records: contract-extracted facts grouped by subject, with observed and expiry times. Subjects with the same country-specific or globally unique identifier are combined; identical facts retain all source references. Source documents remain in results for inspection; subjects are never merged by name alone. The API accepts an Idempotency-Key for safe plan retries. For a direct, single-source call, use POST /v2/sources//run with the returned operation and that operation’s input. This uses the same pricing, key spending limits, ledger and result metadata. It executes immediately within the key’s spending limits. For CBS observation tables with no required parameters, specify the exact operation when planning, such as statistics.cbs-company-counts. The planner does not guess a statistical metric from a country alone. General questions can use POST /v2/ask/plan to get a model-built plan. The tender group currently offers TenderNed public-contract browsing and organisation-based TED matches. It does not expose general TED Search API queries through Apiosk yet. EU Funding & Tenders provides funding calls, not procurement notices, so it is outside eu.tenders.search. Likewise PDOK location data is outside eu.statistics.query.

Browse endpoints inside a source

The compact endpoint index is useful when a provider publishes many services:
Requires sources:read. The response contains total, items and next_offset. Each item names the service slug and listing, then a compact endpoint with its id, method, path, description, category, tags and use cases. endpoint.planner_available tells you whether that exact endpoint has a runtime-accepted planner contract. A listed endpoint without that flag cannot be quoted or executed through the buyer API. Search and paginate rather than downloading every endpoint at once. For Pulse Network, use pulsenetwork as the source id to browse endpoints across its nested services.

Check readiness without a key

GET /v1/source-readiness returns aggregate, public contract coverage and recorded execution outcomes. It is a diagnostic snapshot, not a live test of every endpoint or a guarantee about source data.