All Projects → csgofloat → Csgofloat Inspect

csgofloat / Csgofloat Inspect

Licence: mit
Source Code that Powers the CSGOFloat Inspect Link API

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Csgofloat Inspect

Tiledesk Server
Tiledesk server. Tiledesk is an Open Source Live Chat platform written in NodeJs and MongoDB
Stars: ✭ 94 (-45.35%)
Mutual labels:  api, bot, mongodb
Mojo Webqq
【重要通知:WebQQ将在2019年1月1日停止服务,此项目目前已停止维护,感谢大家四年来的一路陪伴】使用Perl语言(不会没关系)编写的smartqq/webqq客户端框架(非GUI),可通过插件提供基于HTTP协议的api接口供其他语言或系统调用
Stars: ✭ 1,755 (+920.35%)
Mutual labels:  api, bot
Eddi
Scalable Open Source Chatbot Platform. Build multiple Chatbots with NLP, Behavior Rules, API Connector, Templating. Developed in Java, provided with Docker, orchestrated with Kubernetes or Openshift.
Stars: ✭ 171 (-0.58%)
Mutual labels:  bot, mongodb
Appkernel
API development made easy: a smart Python 3 API framework
Stars: ✭ 152 (-11.63%)
Mutual labels:  api, mongodb
Api Query Params
Convert URL query parameters to MongoDB queries
Stars: ✭ 141 (-18.02%)
Mutual labels:  api, mongodb
Gindex V4
A Vue Js Based G Index with Improved Dark Mode, Search and Video Player
Stars: ✭ 143 (-16.86%)
Mutual labels:  mongodb, backend
Whatsapp Bot
BOT - WhatsApp Web in TypeScript
Stars: ✭ 170 (-1.16%)
Mutual labels:  api, bot
React Chat Api
📡 API for chat application for DogeCodes React course
Stars: ✭ 121 (-29.65%)
Mutual labels:  api, mongodb
Jda
Java wrapper for the popular chat & VOIP service: Discord https://discord.com
Stars: ✭ 2,598 (+1410.47%)
Mutual labels:  api, bot
Express Graphql Typescript Boilerplate
A starter kit for building amazing GraphQL API's with TypeScript and express by @w3tecch
Stars: ✭ 163 (-5.23%)
Mutual labels:  api, backend
Lad
👦 Lad is the best Node.js framework. Made by a former Express TC and Koa team member.
Stars: ✭ 2,112 (+1127.91%)
Mutual labels:  api, mongodb
Fastify Api
A blazing fast REST APIs with Node.js, MongoDB, Fastify and Swagger.
Stars: ✭ 138 (-19.77%)
Mutual labels:  api, mongodb
Mern Authentication
MERN stack authentication boilerplate: password reset, email verification, server sessions, redux, hooks and docker for dev and prod.
Stars: ✭ 129 (-25%)
Mutual labels:  mongodb, backend
Nest User Auth
A starter build for a back end which implements managing users with MongoDB, Mongoose, NestJS, Passport-JWT, and GraphQL.
Stars: ✭ 145 (-15.7%)
Mutual labels:  mongodb, backend
Tiktokbot
A TikTokBot that downloads trending tiktok videos and compiles them using FFmpeg
Stars: ✭ 126 (-26.74%)
Mutual labels:  api, bot
Csgo Overwatch Bot
Automatically solve CSGO Overwatch cases
Stars: ✭ 152 (-11.63%)
Mutual labels:  bot, csgo
Slack Starterbot
Python-powered simple starter Slack bot.
Stars: ✭ 169 (-1.74%)
Mutual labels:  api, bot
Cryptotrader
A responsive dynamic webapp to trade cryptopairs on the most prominent exchanges
Stars: ✭ 118 (-31.4%)
Mutual labels:  api, bot
1972
1972 - Criando APIs com NodeJs
Stars: ✭ 120 (-30.23%)
Mutual labels:  api, backend
Express Mongodb Rest Api Boilerplate
A boilerplate for Node.js apps / Rest API / Authentication from scratch - express, mongodb (mongoose).
Stars: ✭ 153 (-11.05%)
Mutual labels:  api, mongodb

GitHub stars GitHub forks GitHub issues GitHub license Website Chrome Web Store Docker

CSGOFloat is a free and open source API service that allows you to obtain the float and paint seed of any CSGO item using its inspect link.

Repo Links

CSGOFloat-Extension

CSGOFloat-Website

Table of Contents

API

If you want to heavily use the public API, please host this repo yourself

https://api.csgofloat.com

GET /

Parameters s, a, d, m can be found in the inspect link of a csgo item.

Parameter Description
s Optional: If an inventory item, fill out this parameter from the inspect URL
a Required: Inspect URL "a" param
d Required: Inspect URL "d" param
m Optional: If a market item, fill out this parameter from the inspect URL
Examples

https://api.csgofloat.com/?m=563330426657599553&a=6710760926&d=9406593057029549017

https://api.csgofloat.com/?s=76561198084749846&a=6777992090&d=3378412659870065794

GET / (Using an Inspect URL)

Parameter Description
url Required: Inspect URL of the CSGO item
Examples

https://api.csgofloat.com/?url=steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561198084749846A698323590D7935523998312483177

https://api.csgofloat.com/?url=steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M625254122282020305A6760346663D30614827701953021

Reply

The reply of this API is based upon this CSGO protobuf.

Attribute Data Type Description
itemid uint32 Item ID
defindex uint32 Weapon ID
paintindex uint32 Paint ID of the weapon (skin)
rarity uint32 Rarity value of the weapon
quality uint32 Quality of the weapon
paintwear uint32 Wear of the exterior of the skin
paintseed uint32 Seed for the RNG that defines how to place the skin texture
killeatervalue uint32 If the item is StatTrak, this is the amount of kills
customname string If the item has a nametag, this is the custom name
stickers array Contains data on the placement of stickers
origin uint32 Origin ID of the weapon
floatvalue float Exterior wear of the skin in its float representation
imageurl string Optional: Image of the item
min float Minimum wear of the skin
max float Maximum wear of the skin
item_name uint32 Optional: Name of the skin
weapon_type string Weapon type name
origin_name string Origin name (Trade-Up, Dropped, etc...)
quality_name string Quality name (Souvenir, Stattrak, etc...)
rarity_name string Rarity name (Covert, Mil-Spec, etc...)
wear_name string Wear name (Factory New, Minimal Wear, etc...)
full_item_name string Full Item Name (ex. SSG 08 Blue Spruce (Minimal Wear))
{
	"iteminfo": {
		"accountid": null,
		"itemid": "13874827217",
		"defindex": 7,
		"paintindex": 282,
		"rarity": 5,
		"quality": 4,
		"paintseed": 361,
		"killeaterscoretype": null,
		"killeatervalue": null,
		"customname": null,
		"stickers": [],
		"inventory": 11,
		"origin": 8,
		"questid": null,
		"dropreason": null,
		"musicindex": null,
		"s": "0",
		"a": "13874827217",
		"d": "4649025583329100061",
		"m": "2608048286785948758",
		"floatvalue": 0.22740158438682556,
		"imageurl": "http://media.steampowered.com/apps/730/icons/econ/default_generated/weapon_ak47_cu_ak47_cobra_light_large.7494bfdf4855fd4e6a2dbd983ed0a243c80ef830.png",
		"min": 0.1,
		"max": 0.7,
		"weapon_type": "AK-47",
		"item_name": "Redline",
		"rarity_name": "Classified",
		"quality_name": "Unique",
		"origin_name": "Found in Crate",
		"wear_name": "Field-Tested",
		"full_item_name": "AK-47 | Redline (Field-Tested)"
	}
}

Errors

The API might be unstable at times, so it is important that you handle the errors correctly.

Error Codes
Code Description
1 Improper Parameter Structure
2 Invalid Inspect Link Structure
3 You may only have X pending request(s) at a time
4 Valve's servers didn't reply in time
5 Valve's servers appear to be offline, please try again later!
Example Error
{
	"error": "Valve's servers didn't reply in time",
	"code": 4
}

How to Install

In order to retrieve float values for weapons in this way, you must have Steam account(s) with a copy of CS:GO. Each account can request 1 float per second. CSGOFloat allows you to have as many bots as you'd like by inputting the login info into config.js.

Each instance of CSGOFloat can operate around 300 accounts. It is recommended to either configure a MongoDB server or setup another cache such as Varnish or Nginx in front of your server.

Docker

Pull the image from docker and mount the config directory

docker pull step7750/csgofloat:latest
docker run -d --name csgofloat -v /host/config:/config -p 80:80 -p 443:443 step7750/csgofloat:latest

The first time you start the docker container, it'll copy the config.js file to the config directory and stop. You'll need to edit this file and include your bots login information and then start the docker again. See the section How to First Login a Bot for further info.

Manual

Requires Node.js v8+!

Clone the repo (or npm install csgofloat) and install the Node.js dependencies using npm install or yarn install in the root directory.

Steps:

  1. Copy config.example.js to config.js
  2. Add your bot(s) login information to config.js
  3. Edit config.js with your desired settings
  4. Ensure MongoDB is running if you've set it's database url
  5. Run node index.js in the main directory
  6. How to First Login a Bot
  7. Navigate to the IP that the server is hosted on and query the API using the docs above!

How to First Login a Bot

Note: If the bot has never logged into the steam client before and doesn't have Mobile 2FA enabled (fresh account), you can just input the username and password and it should successfully log in without email 2FA

If your bot doesn't own CS:GO, CSGOFloat will automatically try to obtain a license for it during startup.

  • Using Email 2FA
    • Only fill in the user and pass fields for the bot (make sure the auth field is empty or removed)
    • Start up CSGOFloat
    • It will tell you that an auth code was sent to your email
    • Input the code from your email into the auth field for the bot
    • Restart CSGOFloat
    • It should successfully login and create a sentry file in the current node-steam-user config directory
    • The auth field can now be optionally removed in your login file for further logins
  • Using Mobile 2FA
    • Fill in the user and pass fields for the bot
    • Fill in the auth field with the shared_secret for the bot
    • Start up CSGOFloat
    • It should successfully login and create a sentry file in the current node-steam-user config directory
    • You'll need to keep the auth field filled in for future logins

Breaking Changes

v2.0 -> v3.0

  • Since we now use node-steam-user instead of node-steam, the sentry folder location now depends on your system. If you'd like to migrate sentry files from v2.0 rather than having to reauthenticate email 2FA accounts, you'll need to copy your sentry files and rename them to match node-steam-user's format
  • allow_simultaneous_requests has now been replaced by max_simultaneous_requests. You can set max_simultaneous_requests to -1 to allow an infinite amount of simultaneous requests by the same IP.

Args

-c/--config (default ./config.js)

CSGOFloat config file location

-s/--steam_data (default node-steam-user config directory)

node-steam-user config directory

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].