Capability · product.check
Retail Availability: What published price and stock evidence exists for this product and observed variants?
Question & workflow
- Question
- What published price and stock evidence exists for this product and observed variants?
- What comes back
- Published product/variant offers and availability evidence.
- Use case
- Commerce agents can compare dated offers and refresh availability before recommending a product.
Ideal workflow
- Supply one product URL (product_url).
- Inspect the Actor for free (metadata, pricing, schemas) — no run, no token.
- Get spending authorization for one call capped at $0.01 (maxTotalChargeUsd: 0.01).
- Start one run in your own Apify account; save the run ID.
- Poll that same run, then read the one-item dataset or the OUTPUT record.
- Validate the report against report.schema.json and act on status before using findings.
Input
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
| product_url | string | Required | required, string | HTTPS URL for one product page, not a collection, search, cart, or account page. |
{
"product_url": "https://www.allbirds.com/products/mens-tree-runners-wheat-dark-beige"
}
Download input_schema.json — the verbatim Actor input schema. Run limits (build, memory, timeout, maxTotalChargeUsd) are call options, never input fields.
Output
One report per run, written to the run’s default dataset (one item) and to the OUTPUT record of its key-value store. Check status before using any findings.
23 top-level fields, read from report.schema.json (JSON Schema draft-07).
| Field | Type | Required | Constraints |
|---|---|---|---|
| schema_version | const "1.0" | Required | — |
| report_id | string | Required | pattern ^[a-f0-9]{64}$ |
| product_url | null | string | Required | — |
| product_name | null | string | Required | — |
| status | enum | Required | one of: verified, unknown, invalid_input |
| availability | string | Required | — |
| offers | array of object | Required | — |
| offer_count | integer | Required | ≥ 0 |
| variant_count_observed | integer | Required | ≥ 0 |
| variants_truncated | boolean | Required | — |
| variant_source_error | string | null | Required | — |
| coverage_complete | boolean | Required | — |
| checked_at | string | Required | format date-time |
| completed_at | string | Required | format date-time |
| error_code | null | string | Required | — |
| error_message | null | string | Required | — |
| source_url | null | string | Required | format uri; pattern ^https:// |
| evidence_sha256 | null | string | Required | pattern ^[a-f0-9]{64}$ |
| http_request_count | integer | Required | ≥ 0 |
| downloaded_bytes | integer | Required | ≥ 0 |
| duration_ms | integer | Required | ≥ 0 |
| billing_event | string | null | Required | — |
| billing_quantity | integer | Required | 0–1 |
- report.schema.json — verbatim report schema
- input_schema.json — verbatim input schema
- retail-availability.json — full recorded example report with provenance
- retail-availability.md — public Markdown doc for agents
Recorded example
Recorded example — observed 2026-10-08 11:45 UTC · owner-funded release test · not an independent purchase
This explorer shows only the recorded report below. It does not accept a domain and does not check anything; a new check happens only when you run the Actor in your own Apify account.
Retail Availability report — Allbirds product page
status: verified (Verified)- Subject
- Allbirds product page
- Observed
- Run ID
- AK3PgR7XTcM3EnCSG
- Build
- 0.2.4 (build ID rlMmI8uNfXgxUkzsw)
- Report SHA-256
- 3d3b21fecbb647b36140a5ae585ac04b7a5a37eb9d217984341886ccfe58eebd
- product_url
- https://www.allbirds.com/products/mens-tree-runners-wheat-dark-beige
- product_name
- Men's Tree Runner
- availability
- mixed
- offer_count
- 8
- variant_count_observed
- 7
- variants_truncated
- false
- coverage_complete
- false
Offers and variants (8)
| variant_name | offer_scope | price | currency | availability | Evidence |
|---|---|---|---|---|---|
| null | product_group | 100 | USD | in_stock | |
|
Evidence — row 1 offers
|
|||||
| 8 | variant | null | null | out_of_stock | |
|
Evidence — row 2 offers
|
|||||
| 9 | variant | null | null | in_stock | |
|
Evidence — row 3 offers
|
|||||
| 10 | variant | null | null | out_of_stock | |
|
Evidence — row 4 offers
|
|||||
| 11 | variant | null | null | out_of_stock | |
|
Evidence — row 5 offers
|
|||||
| 12 | variant | null | null | out_of_stock | |
|
Evidence — row 6 offers
|
|||||
| 13 | variant | null | null | out_of_stock | |
|
Evidence — row 7 offers
|
|||||
| 14 | variant | null | null | out_of_stock | |
|
Evidence — row 8 offers
|
|||||
Sources checked (1)
From source_url in the report. A source listed here was fetched during the recorded run; the report covers these sources only, not the whole web.
Reports may precede final event charging; their billing fields alone do not establish a settled debit.
Show the full raw report JSON
{
"schema_version": "1.0",
"report_id": "d8fd8c89a948ba8169c05caa4d59dcdf5578d2b2cf2bf9f76e7544dd5cc37525",
"product_url": "https://www.allbirds.com/products/mens-tree-runners-wheat-dark-beige",
"product_name": "Men's Tree Runner",
"status": "verified",
"availability": "mixed",
"offers": [
{
"variant_name": null,
"sku": null,
"offer_scope": "product_group",
"price": 100,
"currency": "USD",
"availability": "in_stock",
"source_url": "https://www.allbirds.com/products/mens-tree-runners-wheat-dark-beige",
"checked_at": "2026-10-08T11:45:58.063Z",
"evidence_field": "Product.offers[0]",
"evidence_sha256": "08aff25d1c9f41e3364a4934d6c32b29327a3dcf612c6364596d48c91fd11954"
},
{
"variant_name": "8",
"sku": "TR3MWHE080",
"variant_id": "39480897110096",
"offer_scope": "variant",
"price": null,
"currency": null,
"availability": "out_of_stock",
"source_url": "https://www.allbirds.com/products/mens-tree-runners-wheat-dark-beige.js",
"checked_at": "2026-10-08T11:45:59.276Z",
"evidence_field": "ShopifyProduct.variants",
"evidence_sha256": "904416f83853bd76df34fbf7fc6fb99339503423a76f395cd56ca418c7f27df8"
},
{
"variant_name": "9",
"sku": "TR3MWHE090",
"variant_id": "39480897142864",
"offer_scope": "variant",
"price": null,
"currency": null,
"availability": "in_stock",
"source_url": "https://www.allbirds.com/products/mens-tree-runners-wheat-dark-beige.js",
"checked_at": "2026-10-08T11:45:59.276Z",
"evidence_field": "ShopifyProduct.variants",
"evidence_sha256": "904416f83853bd76df34fbf7fc6fb99339503423a76f395cd56ca418c7f27df8"
},
{
"variant_name": "10",
"sku": "TR3MWHE100",
"variant_id": "39480897175632",
"offer_scope": "variant",
"price": null,
"currency": null,
"availability": "out_of_stock",
"source_url": "https://www.allbirds.com/products/mens-tree-runners-wheat-dark-beige.js",
"checked_at": "2026-10-08T11:45:59.276Z",
"evidence_field": "ShopifyProduct.variants",
"evidence_sha256": "904416f83853bd76df34fbf7fc6fb99339503423a76f395cd56ca418c7f27df8"
},
{
"variant_name": "11",
"sku": "TR3MWHE110",
"variant_id": "39480897208400",
"offer_scope": "variant",
"price": null,
"currency": null,
"availability": "out_of_stock",
"source_url": "https://www.allbirds.com/products/mens-tree-runners-wheat-dark-beige.js",
"checked_at": "2026-10-08T11:45:59.276Z",
"evidence_field": "ShopifyProduct.variants",
"evidence_sha256": "904416f83853bd76df34fbf7fc6fb99339503423a76f395cd56ca418c7f27df8"
},
{
"variant_name": "12",
"sku": "TR3MWHE120",
"variant_id": "39480897241168",
"offer_scope": "variant",
"price": null,
"currency": null,
"availability": "out_of_stock",
"source_url": "https://www.allbirds.com/products/mens-tree-runners-wheat-dark-beige.js",
"checked_at": "2026-10-08T11:45:59.276Z",
"evidence_field": "ShopifyProduct.variants",
"evidence_sha256": "904416f83853bd76df34fbf7fc6fb99339503423a76f395cd56ca418c7f27df8"
},
{
"variant_name": "13",
"sku": "TR3MWHE130",
"variant_id": "39480897273936",
"offer_scope": "variant",
"price": null,
"currency": null,
"availability": "out_of_stock",
"source_url": "https://www.allbirds.com/products/mens-tree-runners-wheat-dark-beige.js",
"checked_at": "2026-10-08T11:45:59.276Z",
"evidence_field": "ShopifyProduct.variants",
"evidence_sha256": "904416f83853bd76df34fbf7fc6fb99339503423a76f395cd56ca418c7f27df8"
},
{
"variant_name": "14",
"sku": "TR3MWHE140",
"variant_id": "39480897306704",
"offer_scope": "variant",
"price": null,
"currency": null,
"availability": "out_of_stock",
"source_url": "https://www.allbirds.com/products/mens-tree-runners-wheat-dark-beige.js",
"checked_at": "2026-10-08T11:45:59.276Z",
"evidence_field": "ShopifyProduct.variants",
"evidence_sha256": "904416f83853bd76df34fbf7fc6fb99339503423a76f395cd56ca418c7f27df8"
}
],
"offer_count": 8,
"variant_count_observed": 7,
"variants_truncated": false,
"variant_source_error": null,
"coverage_complete": false,
"checked_at": "2026-10-08T11:45:57.869Z",
"completed_at": "2026-10-08T11:45:59.392Z",
"error_code": null,
"error_message": null,
"source_url": "https://www.allbirds.com/products/mens-tree-runners-wheat-dark-beige",
"evidence_sha256": "08aff25d1c9f41e3364a4934d6c32b29327a3dcf612c6364596d48c91fd11954",
"http_request_count": 3,
"downloaded_bytes": 857325,
"duration_ms": 1523,
"billing_event": null,
"billing_quantity": 0
}
Download retail-availability.json — this report plus provenance (input used, run, build, owner-funded flag).
Other recorded examples: Hiring Signals · Contact & Booking · SaaS Pricing · Customer Proof · Partner Programs · Integration Evidence
Evidence & limits
- Verification scope
- Checked product structured data and supported public variant metadata. Product-group and variant offers retain distinct scope.
- Coverage limits
- Group stock does not prove every variant is available. Missing variant price stays null; regional checkout price and purchase completion are not tested.
- Request bounds
- 3 requests, 4 MB total, 3 MB per page, 20-second network budget.
How sources are acquired, dated, hashed and verified — and the four evidence classes (local fixtures, owner-funded cloud tests, read-only metadata checks, independent customer results) — are on Evidence & methodology.
Actor & build
- Actor
- impressionable_lupine/verified-retail-availability
- Actor ID
- 1Huevg4n0rTdCWySV
- Default build
- 0.2.4
- Pricing model
- PAY_PER_EVENT · event verified-product-check · $0.01 · max 1 event per run
- Platform usage
- Standard Actor platform usage included under the configuration checked on 8 Oct 2026; recheck before purchase.
- Apify Store
- apify.com/impressionable_lupine/verified-retail-availability
Inspect without purchase
Both of these read public metadata only. They do not start a run and need no token.
{
"name": "fetch-actor-details",
"arguments": {
"actor": "impressionable_lupine/verified-retail-availability",
"output": {
"pricing": true,
"inputSchema": true,
"outputSchema": true,
"metadata": true,
"readme": true
}
}
}
# Free, read-only: public Actor metadata (pricing, builds). Does not start a run.
curl "https://api.apify.com/v2/acts/1Huevg4n0rTdCWySV"
Price & charge trigger
- Event
- Verified product check (verified-product-check)
- Charge trigger
- One event for a verified offer report, even if some variants are missing or out of stock.
- No event when
- unknown and invalid_input produce no event.
- Example cost
- One call with
maxTotalChargeUsd: 0.01→ at most $0.01 in Actor events. - Platform usage
- Standard Actor platform usage included under the configuration checked on 8 Oct 2026; recheck before purchase.
- Store text
- “Charged once for a source-checked public product price and availability result. Unknown results are free.” (verbatim, Apify Store)
Caps are not discounts and do not guarantee a positive result. Unknown/invalid checks produce no eligible report event; caller model/workflow costs are separate.
Example cost: one call, max $0.01 in Actor events. Caller model and workflow costs (your agent, your LLM) are separate and not included. Reports may precede final event charging; their billing fields alone do not establish a settled debit.
Unknown & partial
Statuses are part of the answer. An unknown result is not a negative, and a scoped negative covers only the checked sources. unknown and invalid_input produce no event.
| Status | Meaning | Report event |
|---|---|---|
| verified | A verified offer report from checked product structured data or supported variant metadata. Some variants may be missing or out of stock. | Yes — one event |
| unknown | No offer could be verified on the checked product page. | No event |
| invalid_input | Fix the caller input (one HTTPS product page, not a collection, search, cart or account page). | No event |
When to choose
- Choose it when
- Commerce agents can compare dated offers and refresh availability before recommending a product.
- Simpler alternative
- If the retailer offers a product API or feed you already use, call it directly. Choose this for a dated, source-hashed offer snapshot of one product page.
Do not choose it for
- Buying the product or guaranteeing checkout stock
- Inferring every variant is in stock from a group offer
- Exhaustive retailer discovery or review analysis
No discovery of companies, people identity/deliverability verification, proof of buying intent, outreach, top-ups, subscriptions or recurring purchases. Which capability fits my task?
Start with one product
-
1 · Inspect (free, no token, no run) # Free, read-only: public Actor metadata (pricing, builds). Does not start a run. curl "https://api.apify.com/v2/acts/1Huevg4n0rTdCWySV" -
2 · Start one run — only after spending is authorized # Paid run in YOUR Apify account. Only after spending is authorized. # Set APIFY_TOKEN securely in your client/shell; never paste it into URLs or shared files. curl -X POST "https://api.apify.com/v2/acts/1Huevg4n0rTdCWySV/runs?build=0.2.4&memory=512&timeout=60&maxTotalChargeUsd=0.01&waitForFinish=30" \ -H "Authorization: Bearer $APIFY_TOKEN" \ -H "Content-Type: application/json" \ -d '{"product_url":"https://www.allbirds.com/products/mens-tree-runners-wheat-dark-beige"}'Limits are query parameters: build 0.2.4, memory 512 MB, timeout 60 s, maxTotalChargeUsd=0.01.
-
3 · Poll the same run # Save data.id (run ID) from the first response. On timeout/ambiguity, poll THIS run. # Never start a second charged run to recover output. curl "https://api.apify.com/v2/actor-runs/$RUN_ID" \ -H "Authorization: Bearer $APIFY_TOKEN" -
4 · Get the report (dataset items) # data.defaultDatasetId from the run object (one report item). curl "https://api.apify.com/v2/datasets/$DATASET_ID/items?format=json&clean=true" \ -H "Authorization: Bearer $APIFY_TOKEN"4b · Or the OUTPUT record # Alternative: data.defaultKeyValueStoreId → OUTPUT record. curl "https://api.apify.com/v2/key-value-stores/$KV_STORE_ID/records/OUTPUT" \ -H "Authorization: Bearer $APIFY_TOKEN"
Recovery: Save the run ID from the first response; on timeout or ambiguous response, poll that same run; never start a second charged run to recover output.
Hosted MCP server https://mcp.apify.com. Anonymous (no token) inspection is allowed only when ?tools= is limited to search-actors, fetch-actor-details, search-apify-docs and fetch-apify-docs.
No live MCP execution of these call-actor templates has been performed by anyone, owner or independent; they were validated offline against the tool schemas and current metadata, and the recorded examples came from Apify SDK/API runs.
-
1 · Inspect: fetch-actor-details (free; works on the anonymous inspection endpoint) { "name": "fetch-actor-details", "arguments": { "actor": "impressionable_lupine/verified-retail-availability", "output": { "pricing": true, "inputSchema": true, "outputSchema": true, "metadata": true, "readme": true } } }Client config for anonymous inspection
Inspection only (no token) { "mcpServers": { "apify-inspect": { "url": "https://mcp.apify.com?tools=search-actors,fetch-actor-details" } } } -
2 · call-actor — only after spending is authorized (limits in callOptions, never in input) { "name": "call-actor", "arguments": { "actor": "impressionable_lupine/verified-retail-availability", "input": { "product_url": "https://www.allbirds.com/products/mens-tree-runners-wheat-dark-beige" }, "waitSecs": 30, "callOptions": { "build": "0.2.4", "memory": 512, "timeout": 60, "maxTotalChargeUsd": 0.01 } } }Client config for execution (your own authentication)
OAuth (recommended; browser sign-in, no token in config) { "mcpServers": { "apify": { "url": "https://mcp.apify.com?tools=actors,runs,storage" } } }Bearer header (set the token securely in your client) { "mcpServers": { "apify": { "url": "https://mcp.apify.com?tools=actors,runs,storage", "headers": { "Authorization": "Bearer <APIFY_TOKEN>" } } } } -
3 · Poll the same run { "name": "get-actor-run", "arguments": { "runId": "<runId returned by call-actor>" } } -
4 · Get the report (dataset items) { "name": "get-dataset-items", "arguments": { "datasetId": "<datasetId returned by call-actor>", "clean": true } }4b · Or the OUTPUT record { "name": "get-key-value-store-record", "arguments": { "keyValueStoreId": "<keyValueStoreId returned by call-actor>", "recordKey": "OUTPUT" } }
Recovery: Save the run ID from the first response; on timeout or ambiguous response, poll that same run; never start a second charged run to recover output. call-actor returns the run status and storage IDs (the IDs are under storages in call-actor’s structured result), not the items.
Last verification
Last metadata verification: 8 Oct 2026 ().
A read-only, anonymous GET https://api.apify.com/v2/acts/1Huevg4n0rTdCWySV confirmed the public Actor, its default build 0.2.4 and its pay-per-event pricing (verified-product-check, $0.01). That check started no run and is not continuous monitoring. Last checked 2026-10-08T12:16:53.713706+00:00; recheck the Apify Store page before purchase.