QCC — Company Tender Search
Retrieve a previously identified company's tender notices using its returned company ID, with role, keyword, notice status, date, and region filters.
- Selected price
- $0 / callPublished pricing
- Providers / implementations
- 1 / 1
- Requests · 30d
- —Loading...
- Success rate · 30d
- —Loading...
| Provider | Price / call | Requests · 30d | Performance | Access |
|---|---|---|---|---|
qccCurrent QCC — Company Tender Search · POST | $0 / call | — | —successP50— |
Statistics use persisted gateway logs from the last 30 days up to now, including today.
Success rate = successful requests / all requests;
P50 = median latency of successful requests.
Prices reflect the published API contract. Contract revision: 2. Price update time: not supplied.
Playground
Run sends a real API request. Charges follow the published API contract.
curl \
'https://api.openany.si/v1/agent-apis/qcc/tender/search_company_tenders' \
-X POST \
-H "Authorization: Bearer $OPENANY_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"id": "<REPLACE_id>"
}'- Method
- POST
- Endpoint
https://api.openany.si/v1/agent-apis/qcc/tender/search_company_tenders- Content type
- application/json
- Authentication
Authorization: Bearer $OPENANY_API_KEY
Generated request template. Review placeholder values and input constraints before use.
curl \
'https://api.openany.si/v1/agent-apis/qcc/tender/search_company_tenders' \
-X POST \
-H "Authorization: Bearer $OPENANY_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"id": "<REPLACE_id>"
}'Input parameters
Fields in this listing; additional options and input encoding can vary by provider.
| Parameter | Location | Type | Required | Description |
|---|---|---|---|---|
beginDate | JSON request bodybody | string | No | Publication date lower bound, YYYY-MM-DD. For the last year use the current date minus one year; for the last three months subtract three months; for since 2024 use 2024-01-01. Omit when no time restriction is specified. pattern: ^(\d{4}-\d{2}-\d{2})?$ |
bidStatuses | JSON request bodybody | array | No | Notice substatuses, more specific than infoTypes. The first four enum entries concern tender notices and the remaining six concern award notices. If both information types and substatuses are supplied, the more specific substatus takes priority. minItems: 1 Nested fields and variants
|
endDate | JSON request bodybody | string | No | Publication date upper bound, YYYY-MM-DD; must not precede beginDate. Supply only when an explicit cutoff date is requested; otherwise omit to include the latest records. pattern: ^(\d{4}-\d{2}-\d{2})?$ |
id | JSON request bodybody | string | Yes | Company ID; must come from the company ID returned by search_companies, search_tenders, get_tender_detail, search_proposed_projects, or get_proposed_project_detail. minLength: 1 |
infoTypes | JSON request bodybody | array | No | Information types. May be omitted when bidStatuses is supplied; the server derives the types automatically. minItems: 1 Nested fields and variants
|
keywords | JSON request bodybody | array | No | Product, service, or project keywords to search within this company's notices. Maximum 10 keywords, combined with OR. minItems: 1 · maxItems: 10 Nested fields and variants
|
regions | JSON request bodybody | array | No | Project location filter. Prefer complete Chinese administrative names starting at province level and including suffixes, e.g. 江苏省, 江苏省苏州市, 江苏省苏州市吴中区, or 上海市浦东新区. Complete an unambiguous Suzhou abbreviation to 江苏省苏州市; ask for clarification if ambiguous. Combine requested regions in one regions array using OR. Hong Kong, Macao, and Taiwan are unsupported. minItems: 1 · maxItems: 20 Nested fields and variants
|
role | JSON request bodybody | string | No | Single company role code in tender notices: 1=procuring entity, 3=winning bidder, 4=agent, 8=bidder (including bidders, award candidates, and winners), 6=mentioned party. Omit for no restriction. enum: "1", "3", "4", "8", "6" |
Required markers inside a nested object or variant apply when that object or variant is used.
Sample response
No response example is configured. A real response is available only after running the API, or when a published sample is added.
Agent integration
Copy the resource contract without sharing an API key.
View API Markdown
# QCC — Company Tender Search
Retrieve a previously identified company's tender notices using its returned company ID, with role, keyword, notice status, date, and region filters.
## Available implementations
qcc · QCC — Company Tender Search: https://openany.si/markets/apis/capabilities/qcc-company-tender-search?offering=e89195e8-14fb-451d-869d-b5095e93cfe4 · $0 / call
## Selected API contract
Documentation: https://openany.si/markets/apis/capabilities/qcc-company-tender-search
Method: POST
Endpoint: https://api.openany.si/v1/agent-apis/qcc/tender/search_company_tenders
Price: $0 / call
Provider: qcc
Contract revision: 2
Price source: selected implementation in the OpenAny public API catalog. Price update time: not supplied.
Use OPENANY_API_KEY from the environment. API Key calls use your shared balance.
## Generated request template — review values before use
```bash
curl \
'https://api.openany.si/v1/agent-apis/qcc/tender/search_company_tenders' \
-X POST \
-H "Authorization: Bearer $OPENANY_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"id": "<REPLACE_id>"
}'
```
## API contract
```json
{
"resource_type": "api",
"name": "QCC — Company Tender Search",
"endpoint": "https://api.openany.si/v1/agent-apis/qcc/tender/search_company_tenders",
"method": "POST",
"content_type": "application/json",
"execution_mode": "sync",
"authentication": {
"type": "bearer",
"environment_variable": "OPENANY_API_KEY"
},
"inputs": [
{
"description": "Retrieve a previously identified company's tender notices using its returned company ID, with role, keyword, notice status, date, and region filters.",
"json_schema": {
"properties": {
"beginDate": {
"description": "Publication date lower bound, YYYY-MM-DD. For the last year use the current date minus one year; for the last three months subtract three months; for since 2024 use 2024-01-01. Omit when no time restriction is specified.",
"pattern": "^(\\d{4}-\\d{2}-\\d{2})?$",
"type": "string"
},
"bidStatuses": {
"description": "Notice substatuses, more specific than infoTypes. The first four enum entries concern tender notices and the remaining six concern award notices. If both information types and substatuses are supplied, the more specific substatus takes priority.",
"items": {
"enum": [
"预告",
"招标",
"招标变更",
"澄清答疑",
"开标",
"中标候选",
"中标成交",
"中标变更",
"合同验收",
"废标流标终止"
],
"type": "string"
},
"minItems": 1,
"type": "array"
},
"endDate": {
"description": "Publication date upper bound, YYYY-MM-DD; must not precede beginDate. Supply only when an explicit cutoff date is requested; otherwise omit to include the latest records.",
"pattern": "^(\\d{4}-\\d{2}-\\d{2})?$",
"type": "string"
},
"id": {
"description": "Company ID; must come from the company ID returned by search_companies, search_tenders, get_tender_detail, search_proposed_projects, or get_proposed_project_detail.",
"minLength": 1,
"type": "string"
},
"infoTypes": {
"description": "Information types. May be omitted when bidStatuses is supplied; the server derives the types automatically.",
"items": {
"enum": [
"招标公告",
"中标公告"
],
"type": "string"
},
"minItems": 1,
"type": "array"
},
"keywords": {
"description": "Product, service, or project keywords to search within this company's notices. Maximum 10 keywords, combined with OR.",
"items": {
"minLength": 1,
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"type": "array"
},
"regions": {
"description": "Project location filter. Prefer complete Chinese administrative names starting at province level and including suffixes, e.g. 江苏省, 江苏省苏州市, 江苏省苏州市吴中区, or 上海市浦东新区. Complete an unambiguous Suzhou abbreviation to 江苏省苏州市; ask for clarification if ambiguous. Combine requested regions in one regions array using OR. Hong Kong, Macao, and Taiwan are unsupported.",
"items": {
"minLength": 2,
"type": "string"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"role": {
"description": "Single company role code in tender notices: 1=procuring entity, 3=winning bidder, 4=agent, 8=bidder (including bidders, award candidates, and winners), 6=mentioned party. Omit for no restriction.",
"enum": [
"1",
"3",
"4",
"8",
"6"
],
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"location": "body",
"name": "body",
"nullable": false,
"pointer": "",
"required": true,
"type": "object"
}
],
"billing": {
"currency": "USD",
"mode": "fixed",
"priceMicroUsd": "0",
"rounding": null,
"unit": "call",
"unitQuantity": null
},
"examples": []
}
```Error handling
| Status | Next step |
|---|---|
400 | Check the offering and request fields. |
401 / 403 | Verify your credentials and access permissions. |
402 | Inspect the selected access mode and returned payment requirements. |
429 | Respect the returned rate limit and retry guidance. |
5xx | Inspect the error and usage record before retrying a paid operation. |
Generated request template
Generated from input parameters. Replace placeholder values before use.
Prepare your environment
Use a terminal with cURL installed.
Use an OpenAny API key with shared-balance access. Confirm availability and price before running; a call may charge your balance.
Set the key in your terminal using the hidden prompt below. Keep its value out of source files and logs.
Terminal · macOS / Linuxprintf 'OpenAny API key: ' read -r -s OPENANY_API_KEY export OPENANY_API_KEY printf '\n'Run the request
Paste the complete command below into your terminal.
Values to replace before running 1
Review these request fields before running. Keep the published provider and request method unchanged.
body- Retrieve a previously identified company's tender notices using its returned company ID, with role, keyword, notice status, date, and region filters.
Terminal · cURLcurl \ 'https://api.openany.si/v1/agent-apis/qcc/tender/search_company_tenders' \ -X POST \ -H "Authorization: Bearer $OPENANY_API_KEY" \ -H 'Content-Type: application/json' \ --data-raw '{ "id": "<REPLACE_id>" }'Check the response
No response example is configured. Verify the actual status and response after an approved API call.
Common questions
Do I need a separate key for every provider?
Use your OpenAny API key for standard API access. Read it from OPENANY_API_KEY in your environment and keep it out of prompts, source code and logs.
Are these providers interchangeable?
No. Each offering has its own inputs, pricing and response contract. Selecting a catalog offering does not establish automatic routing or fallback. Confirm the service contract before calling.
How is this API billed?
API-key calls use your shared balance at the selected implementation's published rate. Check the billing unit and request-specific pricing rules before making a paid call. Recorded usage determines the final charge under that contract.
Where do the price and contract come from?
The selected implementation publishes its provider, request contract, revision and billing rules through OpenAny's public API catalog. A revision number identifies a contract version, not a price update date. A price update timestamp is not supplied; do not treat a page date as one.
How do OpenAny Balance and x402 differ?
OpenAny Balance uses an API key and one shared balance. Card, USDC and x402 top-ups, card auto top-up and USDC subscriptions fund that balance; available routes appear on the Credits page. Direct x402 is a separate pay-per-request flow, available only on listings that show it and requiring an authorized payment client.
Does Playground send a paid request?
Yes. After you sign in, Run sends a real API request using an active OpenAny API key. Charges follow the published API contract and use your shared balance. Selecting an implementation, editing inputs and viewing sample responses do not send requests.