Skip to content
pelyr
ProductsPelyr NetworkRewardsDocs Open free map
Open free map

Pelyr API Terms of Use

Version 1.5 · Last updated 7 September 2026

These terms govern your use of the two interfaces through which we make AIS data available against an API key:

  • Pelyr Stream — the live AIS data service reachable at wss://stream.pelyr.com, which pushes messages to you as they arrive; and
  • the Pelyr HTTPS API — the query service reachable at https://api.pelyr.com, which answers requests for the current picture and for a vessel’s track over time.

Together they are the “Service”. Where a provision applies to only one of them, it says so. By requesting an API key, or by connecting to or querying the Service, you agree to these terms.

1. Who operates the Service

The Service is operated by:

Timo Zürner
private individual, operating under the brand “Pelyr”
Gerichtsstraße 13, 9300 St. Veit an der Glan, Austria
Email: hello@pelyr.com

Full details are in the Imprint. How personal data is handled is set out in the Privacy Policy.

2. What the Service is — and is not

The Service makes available AIS vessel messages that are broadcast publicly by vessels and collected from third-party feeds and from community stations. It is a pilot operated as a private, non-commercial project.

No availability commitment

The Service is provided “as is” and “as available”. There is no uptime guarantee, no service level agreement, and no commitment to any latency, completeness or accuracy of the data. We may change, suspend or discontinue the Service, in whole or in part, at any time.

3. Not for navigation. Not a safety system.

AIS data provided through this Service is for informational and situational-awareness purposes only. It may be incomplete, delayed, inaccurate, spoofed or entirely absent for any vessel or area at any time.

It must not be used as a basis for navigation, collision avoidance, search and rescue, or any other decision affecting the safety of life, health, property or the environment. It is not a substitute for the equipment and procedures required under SOLAS, COLREG or any other applicable maritime regulation, and it is not a certified or approved navigational aid.

You are responsible for ensuring that your own use, and the use by anyone to whom you make the data available, complies with this restriction.

4. Attribution — a condition you must pass on

The source data is licensed, and those licences require attribution. This is a condition of your right to use the data at all.

SourceLicenceRequired attribution
Fintraffic / digitraffic.fi CC BY 4.0 “Traffic data from Fintraffic / digitraffic.fi, licence CC BY 4.0”
BarentsWatch NLOD “Data delivered by BarentsWatch”
Kystverket NLOD 2.0 “Contains data under the Norwegian licence for Open Government data (NLOD) distributed by Kystverket (Norwegian Coastal Administration)”
Pelyr Pelyr Data Licence 1.1 “AIS data from Pelyr (pelyr.com), Pelyr Data Licence 1.1”

The Service delivers this information to you in machine-readable form. Every data frame, and every group of fields in an HTTPS response, carries a license field holding a short id, not the licence text itself. The directory that resolves those ids is a sources[] array whose entries pair each id with the licence text and the attribution string belonging to it. On Pelyr Stream it arrives in the welcome frame of every connection; on the Pelyr HTTPS API it is served by GET /v1/sources. Resolve a license value against sources[].id, not against sources[].license, which holds the licence text rather than an identifier.

A message from a collector feed with its own attribution requirement carries that feed’s id, and is identifiable, message by message, through it. A message bundled under the Pelyr entry is not: it carries that entry’s id too, but which individual source within the bundle it came from cannot be determined.

Over the HTTPS API, attribution is collective. A single response — a bounding-box snapshot, or a track — routinely carries data from more than one source. Wherever you display or pass on data obtained through the HTTPS API, you must display the attribution for every source represented in what you show, not only for one of them.

You must display the applicable attribution wherever the data is visible to end users — in the interface, on the map, in the exported document. Placing it only in source code, in a configuration file or in internal documentation does not satisfy the licences.

Sources and licences may be added or changed. The authoritative list is always the sources[] array as served to you now — in the welcome frame of your current connection, or by GET /v1/sources — not this page.

5. Your API key

Access requires a personal API key.

  • Your key is personal to you and must not be shared, sub-licensed, resold or otherwise made available to third parties. If others need access, they need their own keys.
  • The key belongs on a server you control. Do not embed it in browser or app code, in a public repository, or anywhere else it can be read by third parties. A key transmitted in a URL query string is rejected by the Service, because query strings are recorded in proxy logs and leak via the Referer header.
  • You are responsible for all use made through your key. Tell us immediately at hello@pelyr.com if you believe it has been exposed, and we will revoke it.
  • We may revoke a key at any time — see section 8.

6. Limits, and what happens when you reach them

Every key is subject to limits. The figures below are the defaults at the time of writing; they are not a guaranteed entitlement. The values in force for your key on Pelyr Stream are sent to you in the welcome frame under limits.

6.1 Pelyr Stream

Where you subscribe to more than your connection can carry, the Service does not throttle you silently: it collapses successive positions of the same vessel, tells you how many frames you lost in every heartbeat, and closes the connection with code 4008 only if the loss becomes permanent.

LimitDefaultOn exceeding
Active keys per account2Request rejected (key_limit_reached)
Concurrent connections per account2Connection closed, code 4005
Subscriptions per connection4Request rejected
Bounding boxes per subscription50Request rejected; on repetition the connection is closed, code 4014
Bounding boxes across all your subscriptions80Request rejected; on repetition the connection is closed, code 4014
MMSI per subscription500Request rejected; on repetition the connection is closed, code 4014

6.2 Pelyr HTTPS API

Here the limit is a request rate, counted per key.

LimitDefaultOn exceeding
Requests per minute — /v1/vessels, /v1/vessels/{mmsi}, /v1/vessels/{mmsi}/track 12 429, rate_limited, with a Retry-After header
GET /v1/sources 1 request per 60 seconds 429, rate_limited
Time span per /track call, by requested resolution 1min 7 days · 5min 30 days · 15min 90 days · 1h 1 year · 6h 5 years · 1d uncapped Request rejected, track_span_too_large

How far back /track can answer is limited by how long we keep each resolution, and that period is shorter for the finer resolutions. A call that reaches beyond it is answered for the part we can still cover, and the response states the span actually returned; where nothing is left to answer, the request is rejected with range_before_retention.

We may adjust any of these limits at any time, including for individual keys, in particular to keep the Service available to everyone.

Do not attempt to circumvent these limits, including by opening additional accounts to obtain additional keys.

7. What you may do with the data

7.1 The data itself

Most of the AIS data you receive remains subject to the licences of its sources — CC BY 4.0, NLOD and NLOD 2.0 (section 4). Those licences permit further use and redistribution, and these terms do not restrict the rights they grant you. Where anything on this page could be read as limiting those rights, the licence prevails.

Data bundled under the Pelyr entry is different. It is not third-party open data: it is licensed to you by us, under the Pelyr Data Licence 1.1, and that licence is more restrictive than CC BY 4.0 and NLOD. Commercial use is expressly permitted and you may sell what you build from the data — but you may not pass the data itself on, whether for payment or free of charge, and you may not relay the Service. The preceding paragraph does not apply to that data.

Every frame, and every group of fields in an HTTPS response, tells you which of the two it is: resolve its license field against sources[], as described in section 4.

What all of these licences do require is that attribution travels with the data. If you pass on data you are permitted to pass on, the recipient must be able to see the attribution too.

7.2 Access to the Service

This is separate from the data, and here we do impose conditions. You may not:

  • share, resell or sub-licence access to the Service, or operate a proxy that offers third parties access through your key;
  • use the Service in a way that impairs its availability, security or integrity, or that interferes with other users;
  • attempt to gain unauthorised access to any part of the Service or its infrastructure;
  • use the public map on pelyr.com, or the routes behind it, as a source of data — it is a feature of our website, not a second, unkeyed way into the Service — and in particular do not extract from it systematically, do not resolve the pseudonymous identifier vid shown there to an MMSI, and do not link that identifier across its rotation;
  • use the data in a manner prohibited by section 3, or unlawfully — in particular for the surveillance, harassment or tracking of individuals.

8. Suspension and termination

You may stop using the Service at any time and ask us to delete your account and keys.

We may suspend or revoke your access, in whole or in part, at any time and at our discretion, in particular if you breach these terms, if your use endangers the availability or security of the Service, if we are required to do so by law or by an upstream data provider, or if we discontinue the Service. We may act first and inform you afterwards.

On the Pelyr HTTPS API a revocation takes effect immediately. On Pelyr Stream it takes effect within 60 seconds, including for connections that are already open; a revoked key produces close code 4011.

9. Pricing

Both Pelyr Stream and the Pelyr HTTPS API are currently provided free of charge within the limits in section 6. Free access is not an entitlement, and it may end as described below.

We may introduce charges for future use. A payment obligation only ever arises if you actively accept a paid plan. Nothing you do or fail to do — including continuing to use the Service — turns free use into a paid arrangement, and you will never be charged for use that has already taken place.

If we stop offering free access, the practical consequence is that your free access ends. We will announce that beforehand, through this page and through a notice frame on Pelyr Stream, so it reaches you on the channel you actually use. Accounts created through GitHub do not necessarily carry an email address, which is why the in-protocol notice is the one we rely on.

10. Liability

The Service is provided free of charge, as a private, non-commercial project. To the extent permitted by applicable law:

  • We are liable without limitation for damages arising from injury to life, body or health, and for damages caused intentionally or by gross negligence.
  • We are not liable for slight negligence, except where an essential contractual obligation is breached; in that case liability is limited to the damage typically foreseeable for a service of this kind provided without charge.
  • We are not liable for loss of profit, loss of data, business interruption, or any damage arising from the unavailability, incompleteness, delay or inaccuracy of the data — nor for any consequence of use contrary to section 3.

Nothing in these terms limits liability that cannot be limited by law, including under the Austrian Product Liability Act (Produkthaftungsgesetz).

11. Changes to these terms

We may amend these terms. The current version is always published here with its version number and date. Where reasonably practicable we will announce changes that materially affect your rights or obligations before they take effect, by the same means as in section 9. If you do not accept a change, stop using the Service; that is the only consequence.

12. Governing law and jurisdiction

These terms are governed by Austrian law, excluding its conflict-of-law rules and the UN Convention on Contracts for the International Sale of Goods.

If you are a consumer within the meaning of the Austrian Consumer Protection Act (Konsumentenschutzgesetz), this choice of law does not deprive you of the protection of mandatory provisions of the law of your country of residence, and you may bring proceedings in the courts of your place of residence. For all other users, the courts competent for St. Veit an der Glan, Austria shall have exclusive jurisdiction.

13. Severability

If any provision of these terms is or becomes invalid, the validity of the remaining provisions is unaffected.

← Back to overview Imprint Privacy Policy
pelyr

A clearer picture of a world in motion.

Products

  • Pelyr Map
  • AIS Stream
  • HTTPS API

Resources

  • Pelyr Network
  • Rewards
  • Documentation
  • Get a free API key

Legal

  • API Terms
  • Data Licence
  • Contributor Terms
  • Privacy
  • Imprint
© 2026 Pelyr. All rights reserved. Built around a connected world.Back to top ↑