Get a key

Terms of Service

These terms govern your use of Inspekt. Sections 11 to 14 disclaim warranties and limit our liability, so read them carefully.

The agreement

Menu Atlas LLC, a limited liability company formed in Utah, operates Inspekt. In this document "we" and "us" mean Menu Atlas LLC, and "you" means the business or person on the account. "The service" means Inspekt: the embed, the Render API, the Inventory API, the cs2embed.js loader, the Inspekt Lens browser extension and the published documentation.

You accept these terms, the Acceptable Use Policy, the Privacy Policy, the Service Level Agreement and the Refunds and Cancellation Policy by ticking the box on the acceptance screen the dashboard shows at your first sign-in. Those four documents are part of this agreement. Until you accept, no key is shown or issued, no origin can be registered and no plan can be bought. We record the date and the version you accepted and show both in your dashboard. If you do not accept, do not use the service.

1. The service

1.1 Inspekt renders Counter-Strike 2 weapon finishes from a Steam inspect link or an equivalent set of parameters (wear, pattern seed, stickers, StatTrak, name tag). It returns an interactive 3D view (the embed), a still image (the Render API), or parsed public inventory data (the Inventory API). Inspekt Lens, a browser extension, shows still images from the Render API over the listings of third-party marketplace websites (see 3.6).

1.2 We may add, change or remove features. We will not materially reduce the core functionality of a plan you are paying for partway through a billing period without giving you notice under section 16.

1.3 The service depends on Valve's game files and on Steam's public services, including inspect-link resolution and inventory data. We do not control either and are not responsible for their availability or accuracy. See section 11 and the SLA.

2. Accounts, keys and origins

2.1 Your publishable key is not a secret. It appears in the URL of an iframe or a script tag, so it is visible in the page source of every site that uses it. We treat it as public, and so should you. On its own it protects nothing; the credential is the secret key in 2.10.

2.2 Your origin list protects your account. We check every request against the origins you register. For the embed, the visitor's browser also enforces the list through a Content-Security-Policy: frame-ancestors header, so a key copied from your page source into another site is refused by the visitor's own browser, independently of our check.

2.3 You are responsible for registering every origin you call from, including staging and subdomains, and for keeping the list current. We refuse a request from an origin you have not registered, and a request that carries a key but names no origin. Both refusals are intended and are not faults.

2.4 Each plan includes a set number of registered origins. More origins may require a higher plan.

2.5 Do not use someone else's key, guess or enumerate keys, or work around the origin allowlist or the quota checks.

2.6 We may issue, rotate or disable a key at our discretion, including under section 10. Disabling a key does not by itself close your account.

2.7 Individual and organisation accounts. An account is either an individual account, which one person signs in to, or an organisation account, which several people can sign in to. You choose which when you create it. Either way, the account is the customer under this agreement, with one plan, one key, one quota and one bill, and "you" in these terms means the account.

2.8 Members and roles. On an organisation account the owner may invite other email addresses to sign in, each with one of three roles:

2.9 You are responsible for your members. Anything a member does on your account is done by you for the purposes of this agreement, including under sections 3, 4 and 14. Removing a member ends their access immediately. We will act on instructions from any member whose role allows them to give those instructions, and we need not check with the owner first.

2.10 Secret key. An account may hold one secret key. It is a credential: we show it once when it is created and keep only a hash of it afterwards, and you are responsible for protecting it. It counts toward your quota exactly as the publishable key does. Creating a new secret key retires the previous one. On a plan for a website, keep it on your own server, where it works without an origin header, and off any page a browser downloads. On Lens (5.9), keep it in the Inspekt Lens extension (3.6) on your own computer. Tell us at once if it is exposed.

2.11 Tokens. Your server may mint a token from your secret key. A token lasts at most one hour, works where your publishable key works, and is checked against the same registered origins. You may set your account to require tokens; while that setting is on, your publishable key is refused. Tokens count toward your quota the same way as the publishable key: either way, one picture seen by one visitor counts once in 24 hours, under the rule in 5.6.

3. Licence and restrictions

3.1 Licence. While your account is open and your fees are paid, you have a non-exclusive, non-transferable, non-sublicensable, revocable, worldwide licence to put the embed on properties whose origins you have registered, and to call the Render API and Inventory API for your own products.

3.2 No software licence. The licence gives you access to a service we host. It grants no rights in our source code, 3D models, textures or anything else underlying the service, by implication or otherwise.

3.3 You must not, and must not help anyone else:

3.4 All rights not granted here are reserved by us, or by Valve as to game content. See section 11.

3.5 Stored images. You may store an image the Render API returns, and show it, for up to 24 hours from when we sent it, unless a written agreement with us allows longer. After that, delete your copy and request the image again. Each request counts under section 5.6. A viewer's browser keeping an image for as long as the response's cache headers allow is not storing it.

3.6 Inspekt Lens. Inspekt Lens is our browser extension. On the third-party marketplace websites it supports, it shows still images from the Render API over the listings and links each listing to our studio. While your account is open and your fees are paid, you may use it with your account's secret key, on Lens (5.9) or on any plan that includes renders. The images it shows are for your own viewing while you browse those websites. Do not keep them longer than 3.5 allows, publish them, or let anyone else use your key with it. Each image it asks for counts as a render under 5.6. Menu Atlas LLC and Inspekt are not affiliated with, sponsored by or endorsed by those websites or their operators, which bear no responsibility for the extension. A website may change in a way that stops the extension working on it; that is outside the SLA.

4. Acceptable use

4.1 The Acceptable Use Policy is part of this agreement. You are responsible for your own conduct and for anyone using the service through your key, including your end users where your product lets their input reach us, such as through a name-tag field.

4.2 Regulated and high-risk customers. We do not exclude a customer because of its sector. If any part of your product needs a licence, permit or registration, or is subject to age-verification, anti-money-laundering or consumer-protection rules, you warrant that you hold what your jurisdictions require and that you comply with the law that applies to you, and you indemnify us under section 14.2. Acceptable Use section 3 sets out the full position, and section 10 keeps our right to decline or end service to a particular customer.

4.3 A breach of the Acceptable Use Policy is a material breach of this agreement.

5. Plans, fees and quotas

5.1 Current plans:

PlanMonthlyEmbed loadsRendersInventory lookupsOrigins
Hobby$2050,00010,0002,5003
Pro · 500k loads$100500,000125,00050,00010
Pro · 1.5M loads$2001,500,000375,000150,00020
Pro · 5M loads$5005,000,0001,000,000500,00050
Lens$55,0005,000None0

Every plan in the table also includes Pro Studio, the studio's lighting, posing, background and capture tools at inspekt.gg/pro, and an account on one of them may start 3 cinematic renders in any 24 hours where other accounts may start 1 (Privacy 2.10). A free trial under 5.8 opens Pro Studio and keeps the 1 render. Neither is counted against a quota.

Quota is counted per billing period, per event kind, per key. A billing period starts on the day of the month your subscription started, at the same time of day in UTC, and ends when the subscription renews. In a month without that day, the period starts on the month's last day: a plan bought on 31 January resets on 28 February (29 February in a leap year), then on 31 March. Buying a plan for an account that has none starts a new billing period at that moment, with the full quota. Moving up a plan keeps the billing period. An account with no subscription counts its periods from the start of its free trial under 5.8, or from the account's creation if it has had no trial, unless an Enterprise agreement names another date. Section 5.6 defines one load, one render and one lookup.

Enterprise is not in the table above. It has no published fee or quota. A written agreement between us sets its fees, ceilings and origin limit, and that agreement governs for that account. Enterprise is not self-serve; contact us at hello@inspekt.gg. The rest of these terms, including the SLA, applies to an Enterprise account as it does to any other.

5.2 Over quota. A quota is a hard cap. On Lens, Hobby and Pro, once the quota for an event kind is spent, we stop serving that kind for the rest of the billing period. Requests are refused with HTTP 429 and the code quota_exceeded, with a Retry-After header that runs to the start of the next billing period, when the quota resets. Each event kind is capped separately. There are no overage charges. No plan is billed per request or per unit, and no invoice carries a usage-based line. The monthly fee in 5.1 is the whole of what a plan costs you, and no plan can bill you more than the fee you agreed to when you subscribed.

5.3 Cached responses. A response served from cache counts toward quota like any other served response.

5.4 Plan changes. Upgrades take effect immediately. Downgrades take effect at the start of the next billing period. We may change what a plan includes prospectively under section 16, but never retroactively for a billing period already under way.

5.5 Tax. Fees exclude sales, use, VAT, GST and similar taxes, which are yours to pay, other than tax on our net income. Where we are registered to collect a tax, it is calculated at checkout from the billing address you give us, shown to you before you confirm, and itemised on the invoice. Where we are not registered, the fee is the whole of what we charge, and any tax you owe on it is between you and your own tax authority. If you are exempt, tell us before you subscribe and send the certificate; we cannot refund tax already collected and remitted.

5.6 One unit. An embed load is counted once per viewer, per item, per 24 hours. A page showing twelve different items is twelve loads. The same viewer reloading, scrolling back to an item they have already seen, or returning to it later the same day is served and not counted again. A render and an inventory lookup are counted per request. We recognise a returning viewer without cookies and without keeping anything that identifies them, as described in Privacy 2.2.

5.7 An account with no plan. There is no free plan. An account that has not chosen a plan (a new account, one whose free trial under 5.8 has ended, or one whose subscription has ended under section 10 or the Refunds and Cancellation Policy) keeps its key, its registered origins and its usage records, and is served nothing. Requests on all three surfaces are refused with HTTP 402 and the code plan_required. While that is the case, no quota is consumed and no fee is owed. Choosing a plan restores service on the next request. The public sandbox at inspekt.gg/sandbox and the demonstration pages remain available without an account.

5.8 Free trial. Each account may take one free trial of Lens, of Hobby or of any size of Pro. It lasts 10 days (240 hours) from the moment you start it in the dashboard, and it needs no payment card. During the trial the account has the quotas, origin limit and support target of the plan you chose, its quota period under 5.1 starts when the trial starts, and no fee is owed. Subscribing to a plan during the trial ends the trial at that moment and starts billing under section 6, and unused trial time does not carry over. When a trial ends without a subscription, the account has no plan under 5.7, and we email the account contact to say so. We may end a trial early, or decline to start one, where we reasonably believe one customer is using more than one account to take more than one trial.

5.9 Lens. Lens is the plan for Inspekt Lens under 3.6. It includes renders and embed loads, and no inventory lookups or registered origins, and it is used through the secret key in 2.10. Its embed loads are for the 3D viewer Inspekt Lens opens over the marketplace websites it supports, with a token made from that key, and a Lens account's embed is served on those websites and on no other. A Lens key's request to the Inventory API is refused with HTTP 402 and the code not_in_plan, and so is a render or an inventory lookup requested with the account's publishable key or a token, whatever origins the account registered before, and no quota is consumed. Lens also includes Pro Studio and 3 cinematic renders in any 24 hours, as the paragraph after the table in 5.1 says. A person may buy Lens for their own use, and 17.5 applies to them.

6. Payment

6.1 Subscription fees are billed monthly in advance and are the only charge on a plan in 5.1. No usage is charged in arrears. Fees on an Enterprise account are billed as its agreement sets out.

6.2 Payments go through a third-party processor. We never store full card numbers.

6.3 Invoices are due 15 days from the invoice date unless we agree otherwise in writing.

6.4 Late payment. Overdue amounts accrue interest at the lower of 1.5% per month or the maximum the law allows. If an amount is more than 15 days past due, we may suspend the service after notifying your account contact, until you pay.

6.5 Raise a billing dispute in writing within 30 days of the invoice date, or it is waived. Disputing one line does not delay payment of the rest.

6.6 Refunds and cancellation. Fees for a billing period already begun are not refunded. Cancellation, plan changes, the refunds we do make and failed payments are covered by the Refunds and Cancellation Policy, which is part of this agreement.

7. Uptime

7.1 We commit to 99.5% monthly uptime, measured as set out in the SLA, which is part of this agreement.

7.2 A service credit under the SLA is your only remedy for missed uptime. We do not refund downtime in cash.

8. Support

8.1 Support is by email at hello@inspekt.gg.

8.2 First-response targets, in business days, US Mountain Time:

PlanTarget first response
Hobby2 business days
Pro · 500k loads1 business day
Pro · 1.5M loads1 business day
Pro · 5M loads1 business day
Enterprise1 business day, or as set in its written agreement

These targets cover the first reply only and set no time for a fix. Missing one is not a breach of this agreement and earns no service credit.

8.3 Support covers integration questions, bug reports and incidents. It does not cover custom development, content outside Counter-Strike 2, or your own site beyond the point where it meets ours.

9. New content coverage

9.1 We will make a newly released case, collection or item generally available within 7 days of Valve's release, as long as it can be rendered with techniques the service already supports.

9.2 If a new item needs a rendering technique we do not have yet, we will add it as soon as we reasonably can and will tell affected customers if it will miss the 7-day window.

9.3 We may publish a coverage page listing anything temporarily unsupported or rendered with a known limitation. Absent a published exception, our catalog covers all generally released Counter-Strike 2 weapon finishes as measured by our own coverage tooling.

9.4 This section does not cover delays caused by Valve withdrawing or restricting access to the game files or data we depend on. The SLA excludes that case.

10. Suspension and termination

10.1 Suspension. We may suspend your access, in whole or in part, immediately and without prior notice, where it is reasonably necessary because of non-payment past the cure period in section 6.4, a suspected security threat or fraud, a breach of the Acceptable Use Policy or section 3, a legal requirement we reasonably believe applies, or a risk to the service for other customers. We will tell you as soon as we reasonably can, with the reason and what is needed to restore access.

10.2 For convenience. Either of us may end this agreement on 30 days' written notice.

10.3 For cause. Either of us may end it if the other materially breaches it and does not cure the breach within 15 days of written notice describing it. We may end it immediately, with no cure period, for a breach of section 3 or a material misrepresentation under section 4.2 or Acceptable Use section 3.

10.4 After termination the licence in section 3 ends, you must stop using your keys and remove the embed and API calls from your properties, and unpaid fees remain due. The definitions in "The agreement" above, and sections 3.2, 3.4, 11, 12, 13, 14, 15, 17 and 18, survive, along with anything else that by its nature should.

11. Valve and game content

11.1 Counter-Strike 2, its weapon finishes, item names, descriptions and imagery are the property of Valve Corporation.

11.2 We are not affiliated with, sponsored by or endorsed by Valve. We name Valve, Counter-Strike 2 and Steam only to describe what the service does.

11.3 You get no rights in game content. Nothing here grants you any licence or interest in it. Our grant in section 3 covers access to our service and is not a sublicense from Valve or authorization by Valve. Whatever you do with renders or data derived from game content, including showing them to your own users, you do at your own initiative and risk, and you alone decide what rights you need for it.

11.4 We make no representation or warranty of title, non-infringement or licence as to game content, and we do not indemnify you for claims about it. See sections 12 and 13.1.

12. Warranties and disclaimers

12.1 Each of us has the authority to enter into this agreement.

12.2 Except for what the SLA expressly commits to, the service is provided "as is" and "as available", without warranty of any kind, express, implied or statutory, including any implied warranty of merchantability, fitness for a particular purpose or non-infringement. We do not warrant that the service will be uninterrupted, error-free or secure beyond the SLA's commitments, or that a render will match an item's in-game appearance pixel for pixel.

12.3 We give no warranty about your right to use, display or distribute anything derived from game content. See section 11.

12.4 Where local law does not allow a warranty to be excluded, the exclusions above apply only as far as that law permits.

13. Limitation of liability

13.1 Neither of us is liable to the other for indirect, incidental, special, consequential or punitive damages, or for lost profits, revenue, data or goodwill, even if warned they were possible.

13.2 Cap. Except for the carve-outs below, each party's total aggregate liability arising out of or relating to this agreement is capped at the greater of (a) the fees you paid us in the 12 months before the first event giving rise to the claim, and (b) US$500. This cap applies however the claim is framed, whether in contract, tort (including negligence), strict liability, statute or otherwise, and it survives and applies even if a limited remedy in this agreement, such as the service credit in section 7.2, fails of its essential purpose. Our fees are set on the basis of the allocation of risk in sections 11 to 14, and would be materially higher without it.

13.3 Carve-outs. The cap and the exclusion above do not apply to your indemnity in section 14.2, a breach of confidentiality under section 15, your payment obligations, or either party's gross negligence or willful misconduct, or anything that cannot be limited by law. Our own indemnity in section 14.1 is subject to the cap, as that section says.

14. Indemnities

14.1 From us. We will defend you against a third-party claim that the service, excluding game content, infringes that party's US intellectual property rights, and cover damages finally awarded, subject to the cap in section 13.2. This does not apply to claims arising from your modifications or from combining the service with something we did not provide, to any claim about game content (see section 11), or to your use of the service after we tell you to stop because of an infringement claim.

14.2 From you. You will defend and indemnify us against third-party claims, and damages finally awarded, arising from your use of the service in breach of this agreement or the Acceptable Use Policy; from your own business, including any claim that it breaches a licensing, registration, age-verification, anti-money-laundering or consumer-protection requirement that applies to it; from your breach of applicable law; or from a dispute between you and your own users or customers.

14.3 Whoever is indemnified must give prompt notice, hand over control of the defense and settlement, and cooperate. The indemnified party's approval is needed for any settlement admitting fault or imposing non-monetary obligations on it.

15. Confidentiality

15.1 Confidential information means non-public information one of us gives the other that is marked confidential or would obviously be understood as confidential, including usage data and pricing terms that are not published. Keys and tokens are outside this section. Publishable keys are public by design (section 2.1), and protecting the secret key is your responsibility under section 2.10.

15.2 Each of us will use the other's confidential information only to perform this agreement and will protect it with at least the care we use for our own, and never less than reasonable care.

15.3 This does not cover information that becomes public without a breach, was already known without an obligation of confidence, is independently developed without reference to the other's information, or comes lawfully from a third party without restriction.

15.4 Either of us may disclose where the law requires it, giving the other reasonable notice first where that is legally allowed.

15.5 This section survives for 3 years after termination, and indefinitely for anything that is a trade secret under applicable law.

16. Changes to these terms

16.1 We may update this agreement. We will post the new version with a new effective date, and for a material change, including a change to fees, the liability cap or the uptime commitment, we will give you at least 30 days' notice by email or another reasonable method first.

16.2 When a change takes effect, the dashboard asks you to accept it on the acceptance screen the next time you open the dashboard, and using the service after the effective date also means you accept it. If you do not accept a material change, end the agreement under section 10.2 before the effective date, and the old terms apply until then.

17. Governing law and disputes

17.1 Utah law governs this agreement, without regard to conflict-of-laws rules.

17.2 The state and federal courts in Salt Lake County, Utah have exclusive jurisdiction, and both of us consent to jurisdiction and venue there. Section 17.5 applies if you are a consumer.

17.3 Jury trial waiver. EACH OF US KNOWINGLY, VOLUNTARILY AND INTENTIONALLY WAIVES ANY RIGHT TO A TRIAL BY JURY IN ANY ACTION, PROCEEDING OR COUNTERCLAIM ARISING OUT OF OR RELATING TO THIS AGREEMENT OR THE SERVICE, WHETHER BROUGHT IN CONTRACT, TORT OR UNDER A STATUTE. Each of us confirms that it has read this waiver, that it has had the opportunity to take legal advice on it, that no representative of the other party has said the other party would not enforce it, and that this waiver is a material inducement to entering into this agreement. If a court holds this waiver unenforceable, we each agree instead to ask that court to try the dispute without a jury by stipulation, and the rest of this section stays in force.

17.4 Neither of us may bring a claim as a class, collective or representative action.

17.5 If you are a consumer. This service is sold for use in a business, except Lens, which a person may buy for their own use (5.9). 17.2 to 17.4 are written for two businesses. If the law where you live treats you as a consumer and gives you a right you cannot waive (to have a dispute heard locally, to bring a small claim, or anything else), nothing in this section takes it away, and the rest of this section continues to apply so far as it lawfully can.

18. General

18.1 Entire agreement. These terms, together with the Acceptable Use Policy, Privacy Policy, SLA and Refunds and Cancellation Policy, are the whole agreement about the service and replace anything discussed before. Where these terms and one of those documents conflict on something these terms address directly, these terms win.

18.2 Assignment. You may not assign this agreement without our written consent, except to a successor in a merger or a sale of substantially all your assets. We may assign it freely.

18.3 Force majeure. Neither of us is liable for failing to perform, other than to pay, because of events beyond reasonable control. Uptime-specific exclusions are in the SLA.

18.4 Notices. Send notices to us at Menu Atlas LLC, c/o Northwest Registered Agent LLC, 7533 S Center View Ct Ste N, West Jordan, UT 84084, USA. We will send notices to you at the email address on your account, which on an organisation account is the owner's (section 2.8). You must keep that address current, and a notice sent to it is given even if the inbox is no longer read.

18.5 Severability. If a provision is unenforceable, the rest stays in force and that provision is narrowed just enough to make it enforceable.

18.6 No waiver. A failure to enforce a provision is not a waiver of it.

18.7 Independent contractors. This is not a partnership, joint venture or agency.

18.8 No third-party beneficiaries. Nobody outside this agreement gains rights under it, including your end users.

18.9 Headings are for convenience and do not affect meaning.