Skip to content
MCP server

Temsor API — Turkey & EU business data

By temsorAll Temsor servers

Turkey & EU business data: validation, sanctions screening, parsing, FX and fuel price history

First seen 2 Oct 2026. One server, whatever directories list it: each directory listing keeps its own page and history.

1
Directories
Collected by InvokeRank
31
Tools
From an anonymous probe
-
ToolBench grade
Not graded by Arcade
-
GitHub stars
No repository data

Tools

ToolDescriptionBehaviour
email_verifyChecks an e-mail address: syntax, whether the domain can actually receive mail, disposable and role-account detection, and typo correction. No SMTP probing. Most competitors connect to the target server and try RCPT TO, which sounds thorough but produces a confident-looking number you cannot trust: most servers are catch-all, the big providers refuse to answer, and doing it in bulk gets the probing IP blacklisted. We report only what is provable — whether the domain has a mail exchanger, whether it is a known disposable service, whether the mailbox belongs to a role rather than a person, and whether the domain looks like a typo of a common one (gmial.com → gmail.com). Addresses are also normalised, so Gmail dots and +tags stop creating duplicate signups.Not declared
iban_validateValidates an IBAN from any of 70+ countries: checksum, country length and in-country account structure, and resolves the bank and branch codes. Most free libraries stop at the mod-97 checksum. That only says the digits are self-consistent — not that the number could exist in that country. This checks the country's BBAN structure too, so a wrong-length or wrong-shaped account is rejected before your payment file reaches the bank. When only the two check digits are wrong, the correct ones are computed and returned as a suggestion, because that is what people actually mistype. Turkish, Dutch and Belgian IBANs additionally resolve to a bank name when the national code is in our table; otherwise bankName is null. This is not a SWIFT directory.Not declared
pbx_audio_chunkNotify an optional audio chunk / customer URI for a live or archived call (idle $0). Prefer customer storage URI. Temsor keeps a pointer; STT only while a call is active.Not declared
pbx_callsList recent calls with transfer path crumbs — site + customer archive browser. GET /v1/pbx/calls?limit=20. Scoped by x-temsor-pbx-key when set. Idle $0. No DID sales.Not declared
pbx_calls_getGet one call by id with transfer graph — customer detail drawer. GET /v1/pbx/calls/get?call_id=…. Scoped by x-temsor-pbx-key. found=false if missing. Idle $0.Not declared
pbx_calls_graphHandoff graph + transfer edges — who→whom→where the promise stuck (moat). Idle $0. GET /v1/pbx/calls/graph?call_id=…&stuck_at=310. Returns path, path_tr (plain-language summary), edges, and raw transfers. Compounding asset for search/orchestration: handoff edges, not a bot transcript. Idle $0. No DID sales / no live PSTN.Not declared
pbx_dictionaryManaged SaaS domain dictionary (E4) — example packs thicken per pilot (tenant-scoped aliases). Boosts search + Fact extract. No invented premiums. GET /v1/pbx/dictionary?domain=hotel|pbx_provider|insurance|finance|energy|automotive|all (legacy otel|santral_firmasi|sigorta|finans|enerji|otomotiv|msp still accepted). Idle $0, no LLM. Synonyms feed archive search (match crumbs) and transcript Fact extraction. Write path: POST /v1/pbx/dictionary/add.Not declared
pbx_dictionary_addAdd a synonym/alias (tenant-scoped or global demo) — E4 compounding thickens search boost + Fact extract. ≤60/hour/key → 429. Idle $0. No invented premiums. POST /v1/pbx/dictionary/add {term, alias, domain:hotel|pbx_provider|insurance|finance|energy|automotive, scope?:pbx|global}. Managed SaaS compounding (E4): tenant-scoped aliases thicken search + fact extract. No invented premiums/prices. Idle $0, no LLM. Legacy keys (otel, santral_firmasi, msp…) still accepted.Not declared
pbx_eventsIngest call-ops events → open promises + transfer crumbs for search/orchestration. Optional HMAC. Idle $0 when no calls. Demo stores events in memory/file. Auth: omit, x-temsor-pbx-key, or x-temsor-signature = hex(HMAC-SHA256(api_key, body)); bad signature rejected when header present. BridgeEnter → transfer/handoff crumbs. Utterance/text → open Promise docs via heuristic (no LLM). Idle $0. Body ≤256 KiB → 429. Advanced: ARI/Stasis batch shape when customer runs own PBX — not Asterisk-first product copy.Not declared
pbx_factsList extracted facts (IMEI, room, tariff…) from the durable index — filter by call_id, kind, domain, q. GET /v1/pbx/facts?call_id=&kind=&domain=hotel|pbx_provider|insurance|finance|energy|automotive|all&q=&limit=50. Facts come from transcript extract + domain dictionary; persist in pbx-index. Scoped by x-temsor-pbx-key. Idle $0. No DID sales. Right-to-erasure ready. Advanced: own PBX/Asterisk stays on customer.Not declared
pbx_facts_getGet one extracted fact by id — detail drawer for site + customer. GET /v1/pbx/facts/get?id=…. Scoped by x-temsor-pbx-key. found=false if missing. Idle $0. No DID sales.Not declared
pbx_index_partialUpsert mid-call partial index (utterances → fact/promise hints). Path to ≤400ms whisper; ≤600/hour/key → 429; idle $0. POST /v1/pbx/index/partial {call_id, text?, speaker?, t_ms?, is_final?, live?, end_call?, promote?}. Streams partial STT queue into accumulating Fact/Promise hints while the call is live. No Temsor STT/LLM — customer posts text. Managed SaaS in-call index; no DID sales. Own PBX optional footnote. Idle $0.Not declared
pbx_index_partial_getGET mid-call partial index — accumulating facts/promises/snippets while live. GET /v1/pbx/index/partial/get?call_id=…. Returns live partial state for whisper ≤400ms path. Idle $0 when no live call. Managed SaaS in-call index; no DID sales. Own PBX optional footnote.Not declared
pbx_ingest_transcriptHeuristic promise extractor from transcript text — creates open Promise docs (idle $0, no LLM). Detects promise-like sentences (we will, I promise, refund, cancel, call you back, tomorrow…). Optional persist_promises=false for extract without writing. Also wired via utterance text on POST /v1/pbx/events.Not declared
pbx_personsLight CRM from call graph / facts — caller phones+names and extension identities seen on transfers. GET /v1/pbx/persons?call_id=&kind=caller|extension|all&q=&limit=50. Durable Person rows from pbx-index plus derived extension identities (ext_NNN) from Transfer edges / promise.ext. Scoped by x-temsor-pbx-key. Idle $0. No DID sales. Right-to-erasure ready. Advanced: own PBX/Asterisk stays on customer.Not declared
pbx_persons_getGet one light-CRM identity by id — caller Person or derived extension. GET /v1/pbx/persons/get?id=per_001|ext_101. Scoped by x-temsor-pbx-key. found=false if missing. Idle $0. No DID sales.Not declared
pbx_promisesList open/broken call promises for agent handoff tracking — hotel / MSP sales demo. Idle $0. GET /v1/pbx/promises?status=open returns open/unclosed promises with transfer/handoff path for orchestration. Scoped by x-temsor-pbx-key when set. Idle $0. No live PSTN.Not declared
pbx_promises_actE1 moat: who→whom→promise → orchestra handoff intent (whisper/transfer/hold). Idle $0. No live PSTN. Own PBX = advanced footnote. POST /v1/pbx/promises/act {promise_id, action?}. Loads the promise + call graph, suggests whisper/transfer/hold, records orchestra intent with source_type=promise for agent handoff. Managed SaaS runtime. ≤120/hour/key (shares orchestra bucket). Idle $0. carrier/pstn always false. No cross-tenant graph merge. Advanced: not Asterisk-first glue; own PBX optional footnote.Not declared
pbx_promises_closeMark an open promise kept or broken with an optional privacy-safe note — makes the sales demo writable, not read-only. ≤60/hour/key → 429. POST /v1/pbx/promises/close {promise_id, status:kept|broken, note?}. Phones/emails in note are scrubbed. Scoped by x-temsor-pbx-key when set. Idle $0 — no LLM/PSTN.Not declared
pbx_promises_exportExport open/broken promises as CSV or JSON — hotel / PBX-provider unclosed-promise sales list. GET /v1/pbx/promises/export?status=open|closed&format=csv|json. CSV/JSON include closed_at, close_note, path crumbs. Scoped by x-temsor-pbx-key when set. Idle $0.Not declared
pbx_promises_reopenUndo a kept/broken close — restore an open promise so the sales demo can reverse a mis-click. ≤60/hour/key → 429. POST /v1/pbx/promises/reopen {promise_id}. Only kept|broken → open; clears closed_at/close_note. Scoped by x-temsor-pbx-key when set. Idle $0.Not declared
pbx_redactPrivacy-first erasure (default-on SaaS): clear derived index by id/phone; durable audit who/what/when + tenant scope. ≤30/hour/key → 429. Managed pointer only — not a legal deletion SLA. E.3 Privacy-first redaction for managed SaaS. mode=anonymize|delete. Lookup by target_id or phone. Clears Person/Promise/Fact/partial index + Temsor audio pointers in your tenant only (no cross-tenant). Durable audit. Raw media stays on your side. Not a legal deletion SLA. List: GET /v1/pbx/redact/audit.Not declared
pbx_redact_auditList recent erasure actions — who/what/when + tenant scope. Managed SaaS derived-index audit; not a legal deletion SLA. GET /v1/pbx/redact/audit?limit=20. Durable audit from POST /v1/pbx/redact (E.3). Tenant-scoped. Derived index cleared; raw media not deleted by Temsor. Number→flow managed SaaS; own PBX optional. No DID sales.Not declared
pbx_registerRegister a pilot PBX; returns pbx_id + API key once (hashed at rest). ≤5/hour/IP → 429. Idle $0. Control-plane register. API key shown once; stored hashed at rest. Send x-temsor-pbx-key to scope GET /v1/pbx/promises to this pbx_id. No speech recognition while idle.Not declared
pbx_searchAgent archive search over call promises and facts — voice-Google for call-ops, not a receptionist bot. Idle $0. Demo index + domain dictionary v0. Filters: status, date, ext, competitor, stuck_after (transfer/handoff hop). Returns call-graph path + transfer edges for orchestration. Idle $0. No live PSTN.Not declared
pbx_statusControl-plane status — promise/orchestra/search counts + idle $0. No DID sales. GET /v1/pbx/status. Scoped by x-temsor-pbx-key when set. Derived index on Temsor for agent search/orchestration. Idle $0. Advanced: own PBX/Asterisk stays on customer.Not declared
pbx_webhooksRegister or list outbound webhooks — customer URL receives promise/fact/orchestra/redact events (HMAC if secret). POST write ≤30/hour/key → 429. POST /v1/pbx/webhooks {url, secret?, events?, ping?} registers. GET lists. ping:true sends a test delivery. Events: promise.opened, promise.closed, fact.extracted, orchestra.act, redact. Signed with x-temsor-signature when secret set. Idle $0. No DID sales. Erasure-aware. Advanced: own PBX/Asterisk stays on customer.Not declared
pbx_webhooks_deliveriesList last N outbound webhook deliveries (stub or live) — promise/fact/orchestra/redact/ping. GET /v1/pbx/webhooks/deliveries?limit=20&webhook_id=. Durable log of Temsor→customer POSTs. HMAC when secret set. Idle $0. No DID sales. Erasure-aware. Advanced: own PBX/Asterisk stays on customer.Not declared
pbx_whisper_statusCapability: mode=stub|ready from TEMSOR_RTP_*. No live RTP on forge; idle $0. GET /v1/pbx/whisper/status. Reports MediaBridge config presence (TEMSOR_RTP_PATH). mode=ready means path env set — not that Asterisk RTP is flowing. live_rtp/listening always false on forge (R2–R3 IVR sidecar; R4 lab E2E harness). No ≤400ms production claim. TEMSOR_RTP_LAB=1 → optional lab_latency_ms on suggest. No DID sales.Not declared
pbx_whisper_suggestLive agent handoff cards (≤3): open promises/facts from in-call index. Idle $0. Lab: TEMSOR_RTP_LAB=1 → lab_latency_ms. POST /v1/pbx/whisper/suggest {call_id, partial_text}. Returns open promises and facts as whisper cards for agent handoff. Prefers in-call partial index when present. Mock latency_ms under 400ms (compat stub). Idle $0. No Telnyx/DID/live PSTN. Advanced: optional lab_latency_ms when TEMSOR_RTP_LAB=1 (measured; not prod SLA).Not declared
phone_validateValidates and normalises any phone number to E.164, with structural checks for every country calling code. For signup and checkout flows that need to store one canonical form and reject typos early. Any common input (spaces, dashes, brackets, 00 or + prefix, a stray national trunk zero) comes back as E.164 plus national notation, with the country resolved from the calling code. Numbers without an international prefix use `defaultCountry` (US when omitted), so (415) 555-0134 and +1 415 555 0134 store the same. One thing this endpoint deliberately does not claim: the current mobile operator. Numbers are portable in most markets, so a prefix says where a number was first allocated, not where it lives today. Competing APIs report the prefix owner as "the operator" and customers pick SMS routes on that basis. Where we know the original allocation we return it as `originallyAllocatedTo` with the caveat attached, because a confident wrong answer costs more than an honest gap. Countries without a full numbering plan here are validated structurally and say so in `warnings`.Not declared

Directory listings

DirectoryListingTierFirst seen
Official MCP RegistryTemsor API — Turkey & EU business data-2 Oct 2026