timzinin-com Tender Alert API
The Tender Alert API from timzinin-com — 1 operation(s) for tender alert.
The Tender Alert API from timzinin-com — 1 operation(s) for tender alert.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/timzinin-com:timzinin-com-tender-alert-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Zinin M2M Hub Tender Alert API
description: Pay-per-call data & tool APIs
version: 1.0.0
x-guidance: 'Zinin M2M Hub — pay-per-call data & tool APIs for AI agents. Each POST /api/{slug} operation below is a distinct paid tool: call GET /api/{slug}/schema first for the exact input shape, then POST with a signed PAYMENT-SIGNATURE header (x402 v2, USDC — see x-payment-info per operation) or omit it to receive a 402 with full payment requirements in the PAYMENT-REQUIRED header. The same catalog is also available as MCP JSON-RPC tool bundles at POST /mcp/{bundle} — see GET /.well-known/x402 for the list of bundles.'
tags:
- name: Tender Alert
paths:
/api/tender-alert:
post:
summary: Tender Change Alert
description: Watches public tender feeds for a saved filter and returns only what changed since the previous check — new tenders, closed ones, changed deadlines. The first run on a new filter creates the baseline and says so.
operationId: call_tender_alert
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.050000'
protocols:
- x402: {}
network: eip155:8453
payTo: '0x409D32aD39C02BC9B23a8b2d447532ed801b12dE'
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
requestBody:
required: true
content:
application/json:
schema:
title: Tender Change Alert input
type: object
schemaVersion: 1
properties:
queries:
title: Search queries
type: array
description: Keywords or TED expert-query expressions defining which tenders to watch — same syntax as gov-tender-radar (e.g. "software", "classification-cpv=72000000", "cloud AND classification-cpv=72*"). Every scheduled run re-checks these same queries and reports ONLY tenders not seen on a previous run for this watch.
editor: stringList
prefill:
- classification-cpv=72000000
maxItems: 10
country:
title: Buyer country (optional)
type: string
description: ISO 3-letter buyer-country code to AND into every query, e.g. "DEU", "FRA". Leave empty for all EU countries.
editor: textfield
baseline_key:
title: Watch name
type: string
description: A name for THIS watch, so you can run several independent tender watches from one Actor (e.g. "eu-it-services", "germany-construction") without one overwriting another's memory of what's already been seen. Each name is scoped to YOUR OWN Apify account — nobody else's watch is visible to you and vice versa. The prefilled value is only there so this Actor's own daily test run has a stable, obviously-a-test name; replace it with your own watch name.
editor: textfield
prefill: apify-daily-test
limit:
title: Results per query
type: integer
description: Max number of notices gov-tender-radar returns per query, per run. Higher means more thorough coverage but more of OUR compute (never billed to you beyond the per-tender price below).
prefill: 5
default: 20
minimum: 1
maximum: 100
max_items:
title: Max new tenders per run
type: integer
description: Caps how many NEW-tender rows a single run will deliver and charge for, even if more were found.
default: 20
minimum: 1
maximum: 200
required:
- queries
responses:
'200':
description: Actor run succeeded and payment settled
content:
application/json:
schema:
type: object
properties:
results:
type: array
items:
type: object
description: Actor output items — shape is actor-specific (varies per tool); see this operation's own requestBody schema/description for what the underlying actor produces.
meta:
type: object
properties:
run_ms:
type: integer
description: Actor run duration in milliseconds
item_count:
type: integer
description: len(results)
settled:
type: boolean
description: Whether the x402 payment was confirmed settled by the facilitator
transaction:
type:
- string
- 'null'
description: On-chain settlement transaction hash, null if unsettled
required:
- run_ms
- item_count
- settled
- transaction
required:
- results
- meta
'400':
description: Malformed PAYMENT-SIGNATURE header or request body
'402':
description: Payment required or invalid — see PAYMENT-REQUIRED header
'409':
description: Payment payload already used
'502':
description: Actor run failed
'504':
description: Actor run timed out
tags:
- Tender Alert