Capability · contact.find
Contact & Booking: Which public contact and booking routes does this company publish?
Question & workflow
- Question
- Which public contact and booking routes does this company publish?
- What comes back
- Public email, phone, contact-page and booking routes with evidence.
- Use case
- Enrich an account with checked business contact routes.
Ideal workflow
- Supply one company website (company_website).
- 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 |
|---|---|---|---|---|
| company_website | string | Required | required, string, must match ^https:// | The business's official public HTTPS website. |
{
"company_website": "https://cliniquealpa.co.uk/"
}
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.
22 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}$ |
| company_website | null | string | Required | — |
| status | enum | Required | one of: verified, unknown, invalid_input, no_verified_signal |
| signals | array of object | Required | — |
| email_count | integer | Required | ≥ 0 |
| phone_count | integer | Required | ≥ 0 |
| booking_link_count | integer | Required | ≥ 0 |
| contact_page_count | integer | Required | ≥ 0 |
| observed_signal_count | integer | Required | ≥ 0 |
| signals_truncated | boolean | Required | — |
| pages_checked | array of string | 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 | — |
| 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
- contact-booking.json — full recorded example report with provenance
- contact-booking.md — public Markdown doc for agents
Recorded example
Recorded example — observed 2026-10-08 11:43 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.
Contact & Booking report — Clinique Alpa
status: verified (Verified)- Subject
- Clinique Alpa
- Observed
- Run ID
- fZ72juVGyfOdHCHJq
- Build
- 0.2.4 (build ID FeRiecEV6WBqLnz49)
- Report SHA-256
- 1049a9f8513fc1acf263571a9bd786aa088f2e4bd0da1319675fd2736cedd260
- company_website
- https://cliniquealpa.co.uk/
- observed_signal_count
- 4
- email_count
- 1
- phone_count
- 1
- booking_link_count
- 1
- contact_page_count
- 1
- signals_truncated
- false
- coverage_complete
- false
Signals (4)
| type | value | Evidence |
|---|---|---|
| enquiries@cliniquealpa.co.uk | ||
|
Evidence — row 1 signals
|
||
| contact_page | https://cliniquealpa.co.uk/contact/ | |
|
Evidence — row 2 signals
|
||
| phone | +442088828088 | |
|
Evidence — row 3 signals
|
||
| booking_link | https://cliniquealpa.co.uk/book-now/ | |
|
Evidence — row 4 signals
|
||
Sources checked (2)
From pages_checked 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": "0ade7850bd5d2f8ad0f1f908c71b15e9ea8eabc63fd80b94b5cd40938ea7424a",
"company_website": "https://cliniquealpa.co.uk/",
"status": "verified",
"signals": [
{
"type": "email",
"value": "enquiries@cliniquealpa.co.uk",
"source_url": "https://cliniquealpa.co.uk/",
"checked_at": "2026-10-08T11:43:49.156Z",
"evidence_sha256": "b5f505ce168319d2b074baa2507da126d5e9b61d6e57d8690ca146e19acb4d48"
},
{
"type": "contact_page",
"value": "https://cliniquealpa.co.uk/contact/",
"source_url": "https://cliniquealpa.co.uk/",
"checked_at": "2026-10-08T11:43:49.156Z",
"evidence_sha256": "b5f505ce168319d2b074baa2507da126d5e9b61d6e57d8690ca146e19acb4d48"
},
{
"type": "phone",
"value": "+442088828088",
"source_url": "https://cliniquealpa.co.uk/",
"checked_at": "2026-10-08T11:43:49.156Z",
"evidence_sha256": "b5f505ce168319d2b074baa2507da126d5e9b61d6e57d8690ca146e19acb4d48"
},
{
"type": "booking_link",
"value": "https://cliniquealpa.co.uk/book-now/",
"source_url": "https://cliniquealpa.co.uk/",
"checked_at": "2026-10-08T11:43:49.156Z",
"evidence_sha256": "b5f505ce168319d2b074baa2507da126d5e9b61d6e57d8690ca146e19acb4d48"
}
],
"email_count": 1,
"phone_count": 1,
"booking_link_count": 1,
"contact_page_count": 1,
"observed_signal_count": 4,
"signals_truncated": false,
"pages_checked": [
"https://cliniquealpa.co.uk/",
"https://cliniquealpa.co.uk/contact/"
],
"coverage_complete": false,
"checked_at": "2026-10-08T11:43:48.966Z",
"completed_at": "2026-10-08T11:43:49.273Z",
"error_code": null,
"error_message": null,
"http_request_count": 3,
"downloaded_bytes": 129726,
"duration_ms": 307,
"billing_event": null,
"billing_quantity": 0
}
Download contact-booking.json — this report plus provenance (input used, run, build, owner-funded flag).
Other recorded examples: Hiring Signals · SaaS Pricing · Retail Availability · Customer Proof · Partner Programs · Integration Evidence
Evidence & limits
- Verification scope
- A contact route observed on checked official website pages, with a source URL and timestamp.
- Coverage limits
- This checks publication, not mailbox deliverability, decision-maker identity or completed booking. No observed route is not proof none exists.
- Request bounds
- 4 requests, 6 MB total, 3 MB per page, 22-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-contact-booking-signals
- Actor ID
- zATaaVqLePrcoF50q
- Default build
- 0.2.4
- Pricing model
- PAY_PER_EVENT · event verified-contact-report · $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-contact-booking-signals
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-contact-booking-signals",
"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/zATaaVqLePrcoF50q"
Price & charge trigger
- Event
- Verified contact report (verified-contact-report)
- Charge trigger
- One event when the report contains one or more verified public contact or booking routes.
- No event when
- no_verified_signal, unknown and invalid_input produce no event. No observed route is not proof none exists.
- 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 report with source-checked public contact or booking signals. No verified signal is 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. no_verified_signal, unknown and invalid_input produce no event. No observed route is not proof none exists.
| Status | Meaning | Report event |
|---|---|---|
| verified | One or more public contact or booking routes observed on checked official pages, with source URL and timestamp. | Yes — one event |
| no_verified_signal | No route was observed on the checked pages. Not proof none exists. | No event |
| unknown | The check could not reach a conclusion (for example, blocked or unsupported source). | No event |
| invalid_input | Fix the caller input (the website must start with https://). | No event |
When to choose
- Choose it when
- Enrich an account with checked business contact routes.
- Simpler alternative
- If you only need the contact page of one site you already know, open it directly. Choose this when you need source-checked routes as dated JSON.
Do not choose it for
- Verifying mailbox deliverability
- Finding private contact details or identifying decision-makers
- Sending messages or completing bookings
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 company
-
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/zATaaVqLePrcoF50q" -
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/zATaaVqLePrcoF50q/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 '{"company_website":"https://cliniquealpa.co.uk/"}'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-contact-booking-signals", "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-contact-booking-signals", "input": { "company_website": "https://cliniquealpa.co.uk/" }, "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/zATaaVqLePrcoF50q confirmed the public Actor, its default build 0.2.4 and its pay-per-event pricing (verified-contact-report, $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.