Live stream
Real events collected by running connectors.
| When | Type | Where | Event |
|---|---|---|---|
| Loading events… | |||
That’s the newest here. Your agent or terminal gets every matching event as it arrives, and can go back 30 days.
Key
- An address or postcode
- A town
- A whole country, with its count
- A region
- Events close together
Layers
+ − zoom · arrows pan · 0 whole world · F full screen
Saved events
Star an event in the live stream to keep it here.
Nothing saved yet.
Star an event in the live stream, the map or the inspector to keep it here, with a note if you like.
Company
Brand watch
Look-alikes of your brand, the moment they appear: phishing sites, new and dropped domains, trade marks and new companies.
Protect your brand
Hear first when someone imitates your brand: a look-alike domain, a phishing site’s certificate, a trade mark filing or a new company with your name.
Every new certificate in the public logs, every new or dropped domain we can read, every trade mark filed at the offices we read and every company in the registers we read is matched against your brands. Each look-alike reaches only you, as a private event.
- Phishing sites getting a certificate
From the Certificate Transparency logs, within minutes, for every domain worldwide. Almost every phishing site gets one before it goes live.
- New look-alike domains
Every name in .fr, .se, .nu, .ee and .gov, and the matches in about 820 gTLD zones from ICANN (.xyz, .shop, .online…).
- Dropped look-alikes
A dropped domain with your brand in it can be registered by anyone: you hear when it leaves the zone, to take it first.
- Trade mark filings that imitate your brand
The words of every mark filed in the United States, Brazil, Australia, Switzerland, Sweden, Lithuania and Israel, and registered in Brazil and Australia, with their Nice classes. Marks you file under your own names never alert.
- New companies registered with your brand’s name
Every new company in the registers of 24 countries, read without its legal form (Ltd, GmbH, AB…). Brands of 3 letters or fewer aren’t matched here.
- Your keywords in new domains, marks and company names
Words rather than a brand (“solar”, “clinic”): put them on a watchlist, from the Developer plan. Up to 500 matches a keyword a day.
What we would catch
A preview: nothing is savedMatching is deterministic: folding of look-alike characters, up to two misspelled letters, lists of phishing and generic words. Marks are read by their words, companies by their name without the legal form. Names that only sound or mean the same aren’t caught, and your own domains and names never alert.
Your brands
Found so far
- Sign in to see your alerts.
How alerts arrive
As private events only your account sees: in your stream, a webhook, the CLI or MCP. A brand look-alike, domain, mark or company, has the tag my_brand and data.brand_match; a keyword match has data.watch_match and comes with watchlist=<id>.
curl "https://worldsignals.dev/api/events?tags=my_brand&types=trademark.filed" \
-H "Authorization: Bearer $WS_KEY"
What we can and can’t see
| Names | How they arrive | Why |
|---|
Names from ICANN’s zone files come with ICANN’s condition, in each event’s provenance.licence: no marketing or solicitation use. Which events are matched, and why
Watchlists
The companies and words you follow, with only the events about them.
Watchlists
Your counterparties, customers or suppliers: get only the events about them, from every source. Find them by name or registry number, or upload a spreadsheet. A registry number is a sure match; a name alone is a hint, since two companies can share one.
A watchlist can also hold keywords (“solar”, “clinic”): new and dropped domain names, trade marks and new companies with those words reach you as private events, from the Developer plan. For look-alikes of your own brand, use Brand watch.
Add by registry number
Upload a spreadsheet (CSV)
A column id (a registry number such as gb_crn:01234567), or scheme and value, or name and country. Other columns are ignored.
Then add watchlist=<id> to the events API, the live stream or a webhook’s filter: the companies’ events and the keywords’ matches. How watchlists work · Keywords
Follow what matters to you
Only the events about the companies you work with, and every new name with your words in it.
A watchlist holds your counterparties, customers or suppliers, and keywords. Use it as a filter anywhere you read events, and nothing else gets through.
Up to 10 watchlists of 1,000 companies each. Keywords from the Developer plan: 10, Team 50, Business 500.
- The companies you work with
Find them by name or registry number, or upload a spreadsheet. A registry number is a sure match; a name alone is a hint, since two companies can share one.
- Everything about them, from every source
Insolvencies, filings, tenders won, sanctions, recalls, licences and the rest of the catalogue: any event that names one of them, from any country we collect.
- Your keywords in new names
Words such as “solar” or “clinic”: every new or dropped domain, trade mark filing and new company with them reaches you as a private event. Up to 500 matches a keyword a day.
- Wherever you read events
Add
watchlist=<id>to the events API, the live stream or a webhook’s filter. - Look-alikes of your own brand
Imitations of your brand (look-alike domains, phishing sites’ certificates, trade marks, companies) are Brand watch, from the Team plan.
- Private to your account
Nobody else sees your watchlists or what they match. How watchlists work · Keywords
Event catalogue
87 event types. Every type follows the event standard; types with a schema also have a typed payload.
| Ask for it | Type | Name | Family | Visibility | Payload | Collected |
|---|---|---|---|---|---|---|
| Loading the catalogue… | ||||||
Event standard
One shape for every source: a CloudEvents 1.0 envelope with WorldSignals fields, validated by JSON Schema.
Envelope fields
envelope/1.json| Field | Type | Meaning |
|---|---|---|
id required | string | evt_ + ULID; stable for the same fact, so you can deduplicate |
type required | string | family.verb_past, e.g. company.registered |
time required | RFC 3339, UTC | When it happened in the world |
observed_at required | RFC 3339, UTC | When WorldSignals first saw it |
visibility required | public · private · combined | Shared source, your own account, or derived from other events |
country, region | ISO 3166-1 / 3166-2 | Where it happened |
place | object | Locality, coordinates with their precision, H3 cell |
subject required | entity | What it's about; ws_id is the same across sources |
entities | entity[] | Others involved: buyer, supplier, port of call, director |
title required | string | One line in English, for people and agents |
data required | object | Typed payload, validated by dataschema |
provenance required | object | Source, record id, link, licence, attribution |
confidence required | 0–1 | How sure we are of the facts and the entity match |
personal_data required | boolean | True when a person is identifiable |
revision, supersedes | integer, id | Corrections are new events that point to the old one |
Rules
v1- Money is a decimal string with an ISO currency, plus its euro value on the day:
{"amount": "640000.00", "currency": "EUR", "amount_eur": "640000.00", "fx_date": "2026-10-21"}. - Industry is always ISIC Rev. 4, with the source's own code kept beside it.
- Ports use UN/LOCODE, ships IMO numbers, companies their register numbers and LEI.
- People appear only as roles, with as few fields as the law allows.
- Delivery is at least once; deduplicate on
id. Webhooks are signed (Standard Webhooks).
Schemas
Coverage
Where events can be collected, from research on 1,550 sources, and where we collect them now.
Score adds up the dots (3 open feed, 2 slower or web only, 0 not available), out of 33. Checked is the share of a country’s sources confirmed on the official page rather than a secondary source.
| Loading coverage… |
Account
Sign in to see your plan, your access key and the apps connected to your account.
Your stream
The live stream opens on it, and the CLI, MCP and new webhooks use it when given no filter.
Your plan
Free Stripe test mode
Public events, the weekly digest and one combined signal.
Upgrade
Pay securely with Stripe; VAT is added for your country, and EU businesses can enter a VAT number. Founding members keep 30% off for life. Compare plans
Paid plans open on 8 December 2026. Until then, the free plan’s 2,500 events a month apply; vulnerabilities (CVEs) are always free. Compare plans
Access key
Shown onceFor the events API, the CLI and the MCP server. Keep it private: it reads events as you.
wsk_••••••••••••••••Lost it, or think it leaked?
We email you a link; when you press it, a new key is shown once and the old one stops working everywhere.
Passkeys
Sign in with a passkey instead of waiting for an email link. Optional: a link by email always works too.
Connected apps
Apps you allowed to read events for you, such as Claude or ChatGPT. Disconnecting one ends its access at once.
No apps connected yet.
Add https://worldsignals.dev/mcp as a connector in Claude, ChatGPT or your agent, and sign in when it asks. Setup steps
Agents
AI agents with their own WorldSignals key, connected to act for this account: they use its plan and its streams. Revoking one ends its access at once.
Waiting for you
An agent asked to connect to your email. Approve only one you started yourself, or trust.
Connected
No agents connected yet.
From the agent, run npx worldsignals signup, then npx worldsignals connect: it shows a code to enter at worldsignals.dev/link. How it works
Paid with your email
You see this because it was paid with your email. To use it with your account, run connect from that agent.
API keys
Named keys for your agents, servers and scripts. Each reads as this account, is shown once, and can be revoked on its own without touching anyone’s personal key.
Copy it now: this key is shown once.
Team
People who share this account’s plan, stream, webhooks, watchlists and rules. Each keeps their own sign-in, key and personal account.