# WorldSignals: full reference > WorldSignals turns official registers, journals and your own accounts into one stream of standard, real-time events for code and AI agents. Each event is a CloudEvents 1.0 envelope with a typed, JSON Schema-validated payload and provenance (source, record link, licence, attribution). Operated by Yumankind OÜ (registry code 16232402, VAT EE102378229), Sepapaja 6, 15551 Tallinn, Estonia. In early access. Contact: hello@worldsignals.dev. ## Read events (live, with a member's access key) - GET https://worldsignals.dev/api/events?types=&country=&after=&limit=<1-200> with `Authorization: Bearer `: collected public events. `XX` is the events about the whole world (vulnerabilities, outages, AI models), a country like the others: `country=ES,XX`. Without `country`, every country, XX included. When the countries leave out XX but a type only comes as XX, the answer says so in `hint`. With an event number in `after`, the events stored after it, oldest first, for polling; every answer has `cursor` (send it as `after` next time; it moves past events that didn't match) and `more`. Without one, newest first, with `before` and `older`: ask again with `before` while `older` is true to page back. Deduplicate on `id`. The key comes after signing up and confirming the email from the link we send (on the site, or after an agent sign-up the person confirmed). Work emails get in as soon as they confirm. Personal addresses (Gmail, Outlook…) wait for our daily approval; we email them when they're in. /signin emails a new link any time. - GET https://worldsignals.dev/api/stream with the same key: the events live, as Server-Sent Events. Each event's SSE id is its number; reconnecting with Last-Event-ID (or ?after=) carries on after it. Defaults to the types and countries the person chose; `types` and `countries` (or `all`) override. `XX` in `countries` is the events about the whole world; the ready message has a `hint` when a type only comes as XX and the countries leave it out. Messages: ready, the events, an `id:` with no data (nothing up to that number matched: keep it as your place), `: hb` heartbeats (everything waiting has been sent), gap, bye; reconnect after bye. - Limits per access key: 120 requests a minute, shared by /api/events, /mcp and account calls, and 12 new /api/stream connections a minute; over that, 429 with Retry-After: 60. - Filters on both: platforms (data.platforms: windows, macos, linux, android, ios, chromeos, freebsd), ecosystems (data.ecosystems, standing for languages: npm, pypi, maven, nuget, go, rubygems, crates, packagist, pub, hex, swift, cocoapods, github_actions, wordpress), tags, and where= with = != > >= < <= (| between values for = and !=; repeat for AND), e.g. ?types=vulnerability.published&platforms=windows&where=data.cvss.base_score>=9. Vulnerabilities, advisories, exploits and package releases carry platforms and ecosystems. With field filters one answer reads at most 5,000 event numbers, so a poll may return no events with more: true and a later cursor; keep asking from the cursor. - Command line: `npx worldsignals watch` stays on the stream and prints JSON lines, runs `--exec ` with the events on stdin (no shell, access key withheld), writes `--out `, or starts `--agent claude` (claude -p) or `--agent codex` (codex exec, read-only sandbox) with the events fenced off as untrusted data; `--batch` runs once for many; `--once` handles what is waiting and exits, for cron. It saves its place and resumes after restarts. Scheduled cloud agents can poll with `npx worldsignals events --after --json`. - GET https://worldsignals.dev/api/events/preview: without a key, the newest events reduced to type, country, place and day. - GET https://worldsignals.dev/api/stats: public events kept (30 days), the sources and countries they came from, types seen, latest event time, connectors, types defined and days kept. - GET https://worldsignals.dev/api/catalogue: every event type with an example event. - GET https://worldsignals.dev/schemas//1.json: JSON Schemas (draft 2020-12). - OpenAPI: https://worldsignals.dev/openapi.json (the HTTP API: events, stream, webhooks, account, sign-up; the MCP server and OAuth are described here and in the docs). - Webhooks: POST https://worldsignals.dev/api/webhooks {url, types?, countries? (XX for the events about the whole world), tags?, where?, after?} with the access key. Each matching event is POSTed to the url as CloudEvents JSON, signed per Standard Webhooks (HMAC-SHA256 of webhook-id.webhook-timestamp.body with the secret returned once at creation). Up to 5; GET lists, DELETE removes, //test pings, //rotate-secret, //enable. - MCP server: https://worldsignals.dev/mcp (streamable HTTP; Authorization: Bearer ). Read-only tools: list_event_types, search_events (types, country (one code or several, comma-separated; XX is the events about the whole world), tags, where, since, limit (default 20, at most 50); newest first paging back with before while older is true, or after a cursor to follow new events), get_event, my_stream. OAuth 2.1 with PKCE is supported for clients that connect without a key (metadata at /.well-known/oauth-protected-resource/mcp). - Account page: https://worldsignals.dev/console/account shows the access key, emails a link for a new one (the old key stops working when it is used), and lists connected apps, each of which can be disconnected. ## Sign up a person or company from an agent POST https://worldsignals.dev/api/signup-requests with JSON: email (required), agent.name (required), and optionally company, role, useCase, eventTypes, countries (ISO codes; without them every country; XX adds the events about the whole world to a list, and the answer has a hint when a chosen type only comes as XX), delivery, speed (realtime, hourly, daily), plan (free, developer, team, business, enterprise), billing (monthly, yearly). The answer has confirm_url, message_for_human and pickup_secret. Give the first two to the person; keep pickup_secret to yourself and never put it in a URL. Nothing is signed up until they open the link and confirm, and declining forgets their email. Confirming emails them a link that names you (pressing Confirm again sends it again, until 24 hours after the first confirmation); once they click it (within those 24 hours, or the request expires), GET /api/signup-requests/ with the header Authorization: Bearer returns access_key for reading events, once. An agent that can sign sends pickup_public_key (an Ed25519 public key, raw bytes base64url) instead, gets no secret, and signs the fetch: X-WS-Timestamp (unix seconds) and X-WS-Signature (base64url Ed25519 signature of 'GET /api/signup-requests/ '). Either way the key comes at once for a work email, or after our daily approval for a personal address (until then email_confirmed: false, then waiting_list: true). Fetch it within 7 days of that and keep it; after that the link returns status expired. If they already have an account whose key was shown, you can't fetch it: they give you a key. Unknown eventTypes, countries, delivery, speed, plan or billing get a 400 that names them. Links last 7 days; one network address can make 10 requests a day. Command line: `npx worldsignals signup --email ana@example.com --agent "My agent" --type company.registered --country ES` (npm package worldsignals, Node 18+, no dependencies). ## Pricing - Early access is free. Paid plans and their prices are announced at launch. - Sign up before 8 December 2026 and keep 30% off any paid plan for life, while your subscription stays active. - Free: by invite only (from the waitlist and social media followers, so bots can't farm it). Public events 72 hours late, weekly email digest, 1 filter, 250 events a month. - Developer: real time; CLI, webhooks and MCP; 10 filters; 50,000 events a month. - Team: 500,000 events, 5 seats, 30-day replay, 3 connected accounts. - Business: custom event types and sources built for the customer's own needs, delivered privately in the same format; usage-based, enrichment, company timelines, SLA. Enterprise: custom. ## Sources collected today - UK company register: company.registered, company.dissolved, insolvency.proceeding_opened in GB. - Spanish company gazette: company.registered, company.dissolved, company.funding_announced, company.relocated in ES. - French companies gazette: company.registered, company.dissolved, insolvency.proceeding_opened, company.business_sold, company.relocated in FR. - Norwegian company register: company.registered in NO. - Finnish company register: company.registered in FI. - Swiss commercial gazette: company.registered, company.dissolved in CH. - Irish company register: company.registered in IE. - Latvian company register: company.registered, company.dissolved in LV. - Israeli company register: company.registered in IL. - US state business registers: company.registered in US. - US private offering notices: company.funding_announced in US. - US listed company current reports: company.filing_published in US. - US federal grants: grant.awarded in US. - US medical device clearances and approvals: device.certified in US. - US consumer product recalls: recall.issued in US. - US food, drug and medical device recalls: recall.issued in US. - US vehicle recalls: recall.issued in US. - Canadian product, food, drug and vehicle recalls: recall.issued in CA. - EU dangerous product alerts: recall.issued in 31 European countries. - US sanctions list (SDN): sanctions.entry_added, sanctions.entry_removed in every country (global). - US sanctions lists (non-SDN): sanctions.entry_added, sanctions.entry_removed in every country (global). - UK sanctions list: sanctions.entry_added, sanctions.entry_removed in every country (global). - EU sanctions list: sanctions.entry_added, sanctions.entry_removed in every country (global). - Building energy certificates: property.energy_certificates_lodged in FR. - Official MCP server registry: mcp_server.published in every country (global). - Code hosting platform changelog: platform.deprecation_announced in every country (global). - Cloud provider retirement notices: platform.deprecation_announced in every country (global). - Cloud provider release notes: platform.deprecation_announced in every country (global). - Browser platform feature tracker: platform.deprecation_announced in every country (global). - JavaScript package registry (AI and agent SDKs): software.released, platform.deprecation_announced in every country (global). - Software end-of-life database: software.end_of_life in every country (global). - EU official journal: regulation.published in 31 European countries. - EU law-making consultations: regulation.consultation_opened in 31 European countries. - US federal rules and notices: regulation.published, regulation.consultation_opened in US. - UK legislation: regulation.published in GB. - Dutch official journals: regulation.published in NL. - Spanish official journal: legislation: regulation.published in ES. - German federal law gazette: regulation.published in DE. - Italian official journal: regulation.published in IT. - US securities enforcement actions: enforcement.action_published in US. - UK competition and consumer enforcement: enforcement.action_published in GB. - GB electricity market urgent messages: energy.unavailability_announced, energy.unavailability_updated in GB. - European day-ahead electricity auctions: energy.price_published, energy.price_moved, energy.price_went_negative in 15 European countries. - Food safety registers and inspections: venue.opened in GB, NO, FR, US. - Estonian company register: company.registered, company.dissolved, insolvency.proceeding_opened in EE. - Czech company register: company.registered in CZ. - Slovak company register: company.registered, company.dissolved, insolvency.proceeding_opened, company.relocated in SK. - Polish company register: company.registered in PL. - Lithuanian company register: company.registered, company.dissolved, insolvency.proceeding_opened in LT. - US city and state licence registers: licence.granted in US. - US city building permits: permit.filed, permit.granted in US. - US state WARN notices: jobs.layoff_announced in US. - Swedish public employment service job ads: jobs.posting_published, jobs.hiring_surged in SE. - UK official gazette: insolvency.proceeding_opened in GB. - UK public tenders: procurement.tender_published, procurement.contract_awarded in GB. - Spanish official journal: property.auction_scheduled in ES. - EU public procurement journal: procurement.tender_published, procurement.contract_awarded in 42 European countries. - National vulnerability database: vulnerability.published in every country (global). - Government list of exploited vulnerabilities: vulnerability.exploited in every country (global). - Public AI model catalogue: ai_model.released, ai_model.price_changed, ai_model.retirement_announced, ai_model.retired in every country (global). - Open-source security advisories: vulnerability.advisory_published in every country (global). - PyPI package registry: software.released in every country (global). - crates.io package registry: software.released in every country (global). - Provider status pages: service.outage_started, service.outage_resolved in every country (global). - US state breach notices (Washington): breach.disclosed in US. - Public exploit archive: exploit.published in every country (global). - National trade mark office: trademark.filed in US. Next: Building energy certificates (property.energy_certificates_lodged); Certificate transparency logs (domain.certificate_issued); Danish company register (company.registered); Greek company register (company.registered). Each event names its exact source, a link to the record, the licence and the attribution in its provenance. ## Event types Format: id: name (visibility; collected today from … | planned; typed payload schema or envelope only). ### Companies - company.registered: New company registered (public; collected today from UK company register, GB; Spanish company gazette, ES; French companies gazette, FR; Norwegian company register, NO; Finnish company register, FI; Swiss commercial gazette, CH; Irish company register, IE; Latvian company register, LV; Israeli company register, IL; US state business registers, US; Estonian company register, EE; Czech company register, CZ; Slovak company register, SK; Polish company register, PL; Lithuanian company register, LT; schema https://worldsignals.dev/schemas/company.registered/1.json) - company.officer_appointed: Director appointed (public; planned; schema https://worldsignals.dev/schemas/company.officer_appointed/1.json) - company.officer_resigned: Director resigned (public; planned; schema https://worldsignals.dev/schemas/company.officer_resigned/1.json) - company.filing_published: Accounts or filing published (public; collected today from US listed company current reports, US; schema https://worldsignals.dev/schemas/company.filing_published/1.json) - company.dissolved: Company dissolved (public; collected today from UK company register, GB; Spanish company gazette, ES; French companies gazette, FR; Swiss commercial gazette, CH; Latvian company register, LV; Estonian company register, EE; Slovak company register, SK; Lithuanian company register, LT; schema https://worldsignals.dev/schemas/company.dissolved/1.json) - company.funding_announced: Funding round announced (public; collected today from Spanish company gazette, ES; US private offering notices, US; schema https://worldsignals.dev/schemas/company.funding_announced/1.json) - company.relocated: Company moved its registered office (public; collected today from Spanish company gazette, ES; French companies gazette, FR; Slovak company register, SK; schema https://worldsignals.dev/schemas/company.relocated/1.json) - company.business_sold: Business sold or taken over (public; collected today from French companies gazette, FR; schema https://worldsignals.dev/schemas/company.business_sold/1.json) ### Property - property.listed: Home listed for sale (public; planned; envelope only) - property.price_changed: Price dropped or raised (public; planned; envelope only) - property.rental_listed: Home listed for rent (public; planned; envelope only) - permit.filed: Building permit filed (public; collected today from US city building permits, US; schema https://worldsignals.dev/schemas/permit.filed/1.json) - permit.granted: Building permit granted (public; collected today from US city building permits, US; schema https://worldsignals.dev/schemas/permit.granted/1.json) - property.sold: Home sold (official price) (public; planned; envelope only) - property.energy_certificates_lodged: Energy certificates lodged in an area (public; collected today from Building energy certificates, FR; schema https://worldsignals.dev/schemas/property.energy_certificates_lodged/1.json) - property.rental_licence_granted: Holiday rental licence issued (public; planned; envelope only) - property.auction_scheduled: Auction or foreclosure (public; collected today from Spanish official journal, ES; schema https://worldsignals.dev/schemas/property.auction_scheduled/1.json) ### Government and legal - procurement.tender_published: Public tender published (public; collected today from UK public tenders, GB; EU public procurement journal, 42 European countries; schema https://worldsignals.dev/schemas/procurement.tender_published/1.json) - procurement.contract_awarded: Contract awarded (public; collected today from UK public tenders, GB; EU public procurement journal, 42 European countries; schema https://worldsignals.dev/schemas/procurement.contract_awarded/1.json) - insolvency.proceeding_opened: Insolvency proceeding opened (public; collected today from UK company register, GB; French companies gazette, FR; Estonian company register, EE; Slovak company register, SK; Lithuanian company register, LT; UK official gazette, GB; schema https://worldsignals.dev/schemas/insolvency.proceeding_opened/1.json) - insolvency.notice_published: Other insolvency notice (public; planned; schema https://worldsignals.dev/schemas/insolvency.notice_published/1.json) - grant.awarded: Grant or subsidy awarded (public; collected today from US federal grants, US; schema https://worldsignals.dev/schemas/grant.awarded/1.json) - licence.granted: Shop, restaurant or alcohol licence (public; collected today from US city and state licence registers, US; schema https://worldsignals.dev/schemas/licence.granted/1.json) - venue.opened: New restaurant, café or food shop (public; collected today from Food safety registers and inspections, GB, NO, FR, US; schema https://worldsignals.dev/schemas/venue.opened/1.json) - recall.issued: Product or food recall (public; collected today from US consumer product recalls, US; US food, drug and medical device recalls, US; US vehicle recalls, US; Canadian product, food, drug and vehicle recalls, CA; EU dangerous product alerts, 31 European countries; schema https://worldsignals.dev/schemas/recall.issued/1.json) - sanctions.entry_added: Added to a sanctions list (public; collected today from US sanctions list (SDN), every country (global); US sanctions lists (non-SDN), every country (global); UK sanctions list, every country (global); EU sanctions list, every country (global); schema https://worldsignals.dev/schemas/sanctions.entry_added/1.json) - sanctions.entry_removed: Removed from a sanctions list (public; collected today from US sanctions list (SDN), every country (global); US sanctions lists (non-SDN), every country (global); UK sanctions list, every country (global); EU sanctions list, every country (global); schema https://worldsignals.dev/schemas/sanctions.entry_removed/1.json) - trademark.filed: Trade mark filed (public; collected today from National trade mark office, US; schema https://worldsignals.dev/schemas/trademark.filed/1.json) - regulation.published: New law or regulation published (public; collected today from EU official journal, 31 European countries; US federal rules and notices, US; UK legislation, GB; Dutch official journals, NL; Spanish official journal: legislation, ES; German federal law gazette, DE; Italian official journal, IT; schema https://worldsignals.dev/schemas/regulation.published/1.json) - regulation.consultation_opened: Consultation on planned law opened (public; collected today from EU law-making consultations, 31 European countries; US federal rules and notices, US; schema https://worldsignals.dev/schemas/regulation.consultation_opened/1.json) - enforcement.action_published: Regulator enforcement action (public; collected today from US securities enforcement actions, US; UK competition and consumer enforcement, GB; schema https://worldsignals.dev/schemas/enforcement.action_published/1.json) ### Web and media - domain.registered: New domain registered (public; planned; envelope only) - domain.certificate_issued: Certificate issued for a look-alike domain (public; planned; schema https://worldsignals.dev/schemas/domain.certificate_issued/1.json) - news.article_published: News mention (public; planned; envelope only) - social.post_published: Public post or mention (public; planned; envelope only) - jobs.posting_published: Job posted (public; collected today from Swedish public employment service job ads, SE; schema https://worldsignals.dev/schemas/jobs.posting_published/1.json) - jobs.hiring_surged: Hiring surge or first sales hire (public; collected today from Swedish public employment service job ads, SE; schema https://worldsignals.dev/schemas/jobs.hiring_surged/1.json) - jobs.layoff_announced: Layoff or closure notice (public; collected today from US state WARN notices, US; schema https://worldsignals.dev/schemas/jobs.layoff_announced/1.json) - website.changed: Website or pricing page changed (public; planned; envelope only) - app.published: New app published (public; planned; envelope only) - market.odds_moved: Prediction market odds moved (public; planned; envelope only) - review.published: Review posted (public; planned; envelope only) ### Security, AI and devices - vulnerability.published: New vulnerability (CVE) (public; collected today from National vulnerability database, every country (global); schema https://worldsignals.dev/schemas/vulnerability.published/1.json) - vulnerability.exploited: Vulnerability exploited in the wild (public; collected today from Government list of exploited vulnerabilities, every country (global); schema https://worldsignals.dev/schemas/vulnerability.exploited/1.json) - ai_model.released: AI model released (public; collected today from Public AI model catalogue, every country (global); schema https://worldsignals.dev/schemas/ai_model.released/1.json) - ai_model.price_changed: AI model price changed (public; collected today from Public AI model catalogue, every country (global); schema https://worldsignals.dev/schemas/ai_model.price_changed/1.json) - ai_model.retirement_announced: AI model retirement announced (public; collected today from Public AI model catalogue, every country (global); schema https://worldsignals.dev/schemas/ai_model.retirement_announced/1.json) - ai_model.retired: AI model retired (public; collected today from Public AI model catalogue, every country (global); schema https://worldsignals.dev/schemas/ai_model.retired/1.json) - device.certified: Medical device cleared or certified (public; collected today from US medical device clearances and approvals, US; schema https://worldsignals.dev/schemas/device.certified/1.json) - breach.disclosed: Data breach disclosed (public; collected today from US state breach notices (Washington), US; schema https://worldsignals.dev/schemas/breach.disclosed/1.json) - exploit.published: Exploit published (public; collected today from Public exploit archive, every country (global); schema https://worldsignals.dev/schemas/exploit.published/1.json) ### DevOps and infrastructure - service.outage_started: Service outage started (public; collected today from Provider status pages, every country (global); schema https://worldsignals.dev/schemas/service.outage_started/1.json) - service.outage_resolved: Service outage resolved (public; collected today from Provider status pages, every country (global); schema https://worldsignals.dev/schemas/service.outage_resolved/1.json) - software.released: Package released (public; collected today from JavaScript package registry (AI and agent SDKs), every country (global); PyPI package registry, every country (global); crates.io package registry, every country (global); schema https://worldsignals.dev/schemas/software.released/1.json) - mcp_server.published: MCP server published (public; collected today from Official MCP server registry, every country (global); schema https://worldsignals.dev/schemas/mcp_server.published/1.json) - platform.deprecation_announced: Platform deprecation or retirement announced (public; collected today from Code hosting platform changelog, every country (global); Cloud provider retirement notices, every country (global); Cloud provider release notes, every country (global); Browser platform feature tracker, every country (global); JavaScript package registry (AI and agent SDKs), every country (global); schema https://worldsignals.dev/schemas/platform.deprecation_announced/1.json) - software.end_of_life: Software version reached end of life (public; collected today from Software end-of-life database, every country (global); schema https://worldsignals.dev/schemas/software.end_of_life/1.json) - vulnerability.advisory_published: Open-source security advisory (public; collected today from Open-source security advisories, every country (global); schema https://worldsignals.dev/schemas/vulnerability.advisory_published/1.json) - app.feedback_received: Feedback from your app (private; planned; envelope only) - app.crash_reported: Crash in your app (private; planned; envelope only) - server.error_reported: Error on your servers (private; planned; envelope only) ### Ports and physical world - vessel.arrived: Ship arrived at a port (public; planned; envelope only) - vessel.departed: Ship left a port (public; planned; envelope only) - port.activity_changed: Port activity (arrivals, departures, congestion) (public; planned; envelope only) - hazard.alert_issued: Earthquake, storm or disaster alert (public; planned; envelope only) - event.announced: Conference or event announced (public; planned; envelope only) - energy.unavailability_announced: Power plant or grid outage announced (public; collected today from GB electricity market urgent messages, GB; schema https://worldsignals.dev/schemas/energy.unavailability_announced/1.json) - energy.unavailability_updated: Power plant or grid outage updated (public; collected today from GB electricity market urgent messages, GB; schema https://worldsignals.dev/schemas/energy.unavailability_updated/1.json) - energy.price_published: Day-ahead power price published (public; collected today from European day-ahead electricity auctions, 15 European countries; schema https://worldsignals.dev/schemas/energy.price_published/1.json) - energy.price_moved: Power price spiked or dropped (public; collected today from European day-ahead electricity auctions, 15 European countries; schema https://worldsignals.dev/schemas/energy.price_moved/1.json) - energy.price_went_negative: Power price went negative (public; collected today from European day-ahead electricity auctions, 15 European countries; schema https://worldsignals.dev/schemas/energy.price_went_negative/1.json) ### Combined signals (Premium) - combined.company_without_website: New company with a domain but no website (combined; planned; envelope only) - combined.competitor_moved: Competitor launched something or changed prices (combined; planned; envelope only) - combined.company_growing: Company growing fast (funding, hiring, new office) (combined; planned; envelope only) - combined.young_company_won_contract: Young company wins a public contract (combined; planned; schema https://worldsignals.dev/schemas/combined.young_company_won_contract/1.json) - combined.young_company_licensed: New company licensed to open (a bar, a shop, a restaurant) (combined; planned; schema https://worldsignals.dev/schemas/combined.young_company_licensed/1.json) - combined.supplier_went_insolvent: Public-contract supplier becomes insolvent (combined; planned; schema https://worldsignals.dev/schemas/combined.supplier_went_insolvent/1.json) - combined.custom_rule_matched: Your own combined rule matched (two events about one company within N days) (private; planned; schema https://worldsignals.dev/schemas/combined.custom_rule_matched/1.json) - combined.port_backlog_built: Backlog building at a port (combined; planned; envelope only) ### Your own accounts (Private) - inbox.comment_received: Comment on your Instagram or Facebook (private; planned; envelope only) - inbox.message_received: Direct message (private; planned; envelope only) - inbox.email_received: Email to a shared inbox (private; planned; envelope only) - review.received: Review of your business (private; planned; envelope only) - payment.received: Payment or order received (private; planned; envelope only) ## Frequently asked ### What is WorldSignals? An event stream for code and AI agents. It collects facts from official registers, journals and public feeds (new companies, tenders, insolvencies, property auctions, vulnerabilities; connected accounts such as DMs and reviews are planned) and delivers each one in the same standard format, so an agent can act the moment something happens. It is operated by Yumankind OÜ in Tallinn, Estonia, and is in early access. ### What is an event? One fact about the world, in one standard shape: a company was registered, a tender was published, an auction was scheduled. Each event has a stable id, a type, where and when it happened, the companies involved, a typed payload and a link to the source record. ### What is collected today? New companies in the UK, Spain, France, Ireland, Norway, Finland, Switzerland, Latvia, Estonia, Lithuania, Poland, Czechia, Slovakia, Israel and four US states (New York, Colorado, Connecticut and Oregon), with closures, relocations, capital increases and business sales where the register publishes them; insolvency proceedings in the UK and France; US private funding rounds; public tenders and contract awards in 42 European countries, the UK included; public property auctions in Spain; new alcohol and business licences in Texas, New York, Chicago and Missouri; US layoff notices from five states; FDA medical device clearances; job ads and hiring surges in Sweden; worldwide, every new CVE, the ones exploited in the wild, open-source security advisories and new exploits; outages on twenty status pages and Google Cloud; new releases on PyPI and crates.io; new AI models, price changes and retirements; new US trade mark applications; and data breach notices filed in Washington State. The event catalogue marks every type as ready or planned, and demand decides what comes next. ### Is there an API for new company registrations? Yes. GET /api/events?types=company.registered&country=FR returns, with your access key, new companies from the official register or gazette of that country, newest first, as standard events with the company’s name, legal form and, where the source has them, share capital, purpose and industry code. Ask for several countries at once with country=GB,FR,ES. The UK, Spain, France, Ireland, Norway, Finland, Switzerland, Latvia, Estonia, Lithuania, Poland, Czechia, Slovakia, Israel and four US states are live. See the docs. ### Is there an API for EU public tenders? Yes. GET /api/events?types=procurement.tender_published returns tenders from the EU’s public procurement journal for 42 European countries, the UK included, plus the UK’s own tender service, with buyer, CPV codes, estimated value and deadline. Contract awards are procurement.contract_awarded. ### Which countries are covered? Live today: new companies in the UK, Spain, France, Ireland, Norway, Finland, Switzerland, Latvia, Estonia, Lithuania, Poland, Czechia, Slovakia, Israel and four US states; insolvencies in the UK, France, Estonia, Lithuania and Slovakia; sanctions-list changes (US, UK, EU); product recalls (US, Canada, EU); new laws, regulations and consultations (EU, US, UK, NL, ES, DE, IT) and enforcement actions; new restaurants and food shops (UK, Norway, France, New York City, Chicago); power outages and day-ahead prices in Europe; public tenders in 42 European countries; US funding rounds, SEC current reports, federal grants, building permits, licences, layoff notices, trade marks and device clearances; job ads in Sweden; property auctions in Spain; and the whole world for vulnerabilities, outages, package releases, new MCP servers, platform deprecations, end-of-life dates and AI models. Our research maps 1,550 sources in 104 countries; see coverage. ### How do my agents receive events? Through the ws command line tool (it runs a program or starts an agent for each event or batch, or writes JSON files to a folder), the live stream (Server-Sent Events), polling the events API, signed webhooks, or the remote MCP server. All of them are live, with the access key you get once you’re in; see the docs. ### Is it safe to let an agent act on events? Treat events as untrusted data: they carry text from the outside world, and some of it can try to give your agent instructions. Run the agent that reads them in a sandbox with no credentials and only the tools it needs, have it return structured output, and keep a person approving anything that leaves your systems. See safety in the docs. ### Is there a feed of new CVEs and exploited vulnerabilities? Yes. vulnerability.published carries every new CVE with its CVSS score, weaknesses (CWE) and affected vendors and products; vulnerability.exploited fires when a vulnerability is confirmed exploited in the wild, with its fix deadline and whether ransomware uses it. Filter by severity in your code, or let an agent check the affected products against your inventory. ### Can my AI agent sign me up? Yes. An agent sends POST /api/signup-requests with your email, its own name and, if it likes, the events and plan. It gets a link to pass on to you; nothing is signed up until you open it, confirm, and click the email we then send you. With a work email the agent gets its key at once; with a personal address, after our daily approval. See agent sign-up. ### How do I get an access key? Sign up with your email and open the link we send you: it confirms your address. Work emails get in as soon as they confirm. Personal addresses (Gmail, Outlook…) wait for our daily approval; we email you when you’re in. Once you’re in, the link signs you in and shows your key. Lost it? Sign in again and open your Account page. The key reads collected events through the API, the live stream, webhooks, the MCP server and the command line. ### Where does the data come from, and can you share it? Public events come from official registers and journals, used under their reuse licences, with attribution on every event. Paid data is passed on only where its licence allows redistribution; otherwise you connect your own key and those events go to you alone. Private events come only from accounts you connect. We deliver data; we don’t resell what we may not. ### Do you collect personal data? Events are about companies and public bodies. We leave people’s names out where the source allows it, and mark any event that identifies a person. Private events from connected accounts (planned) will be visible only to you. ### What does early access cost? Nothing. Early-access members help decide which sources we build first. Sign up before paid plans open on 8 December 2026 and you keep 30% off any paid plan for life, for as long as your subscription stays active. Prices are announced at launch, and we’ll tell you before anything is charged. ### Why is the free plan invite only? So it stays for people, not bots. We send invites to people on the waitlist and to our followers on social media. Join the waitlist with your email and you’re in the queue. ### Can I ask for a source or a country? Yes. After you sign up, the stream builder has a “Something else?” field. Requests from members decide the order we build in. ### Can you build events for our own needs? Yes, on the Business plan. We build custom event types and the sources behind them for your use: your industry’s registers, a set of sites or documents you care about, signals combined across sources, or your own systems. They arrive in the same standard format, private to you. Talk to us. ## Links - Site: https://worldsignals.dev/ - Docs: https://worldsignals.dev/docs - Event standard: https://worldsignals.dev/console/standard - Event catalogue: https://worldsignals.dev/console/catalogue - Coverage by country: https://worldsignals.dev/console/coverage - Privacy: https://worldsignals.dev/privacy · Terms: https://worldsignals.dev/terms