├── .github └── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── feature_request.md │ └── support-request.md ├── README.md ├── TERMS.md └── changelog ├── 3-10-2024.md ├── 4-14-2024.md └── 5-31-2024.md /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: feature 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/support-request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Support request 3 | about: Ask a question to receive help 4 | title: '' 5 | labels: support 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Question** 11 | Please describe your question or concern in detail. 12 | 13 | **Additional Information** 14 | Provide any additional information that may help us better understand your question. This could include relevant context, screenshots, or examples. 15 | 16 | **Steps to Reproduce (if applicable)** 17 | If your question involves a specific issue or problem, please provide step-by-step instructions on how to reproduce it. 18 | 19 | **Expected Outcome** 20 | What are you hoping to achieve or clarify with your question? 21 | 22 | **Related Issues or Documentation** 23 | If you've already checked existing issues or documentation and couldn't find an answer to your question, please provide details here. 24 | 25 | **Environment (if applicable)** 26 | - Operating System: 27 | - Browser: 28 | - Version: 29 | 30 | **Additional Context** 31 | Is there anything else we should know about your question? 32 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Introduction 2 | 3 | The Pet Simulator 99 Public API provides access to in-game data and configuration details. With this API, developers can retrieve information about pets, items, clans, and more, allowing for the creation of external tools, websites, Discord bots, and other applications. 4 | 5 | ## Usage Documentation 6 | 7 | Below are the endpoints available in the Pet Simulator 99 Public API along with their descriptions and usage instructions: 8 | 9 | https://docs.biggamesapi.io/ 10 | 11 | ## Examples of Usage 12 | 13 | ### JavaScript Example: 14 | ```javascript 15 | // Example using Fetch API in JavaScript 16 | fetch('https://ps99.biggamesapi.io/api/collections') 17 | .then(response => response.json()) 18 | .then(data => console.log(data)) 19 | .catch(error => console.error('Error:', error)); 20 | ``` 21 | 22 | ### Python Example: 23 | ```python 24 | # Example using requests library in Python 25 | import requests 26 | 27 | response = requests.get('https://ps99.biggamesapi.io/api/collections') 28 | data = response.json() 29 | print(data) 30 | ``` 31 | 32 | ### PHP Example: 33 | ```php 34 | 'https://ps99.biggamesapi.io/api/collections', 40 | CURLOPT_RETURNTRANSFER => true, 41 | CURLOPT_ENCODING => '', 42 | CURLOPT_MAXREDIRS => 10, 43 | CURLOPT_TIMEOUT => 0, 44 | CURLOPT_FOLLOWLOCATION => true, 45 | CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, 46 | CURLOPT_CUSTOMREQUEST => 'GET', 47 | )); 48 | 49 | $response = curl_exec($curl); 50 | 51 | curl_close($curl); 52 | echo $response; 53 | ?> 54 | ``` 55 | 56 | ## Standard Responses: 57 | The API follows a standard response format for successful and error responses: 58 | - **Successful Response**: Returns a status code of 200 with JSON data containing a 'status' field set to 'ok' and optional 'data' field with the response message. 59 | - **Error Response**: Returns a status code of 400 with JSON data containing a 'status' field set to 'error' and an 'error' field containing an error message. Additionally, an 'ignore' flag is included to indicate that the error can be safely ignored. 60 | 61 | ## Caching Policy: 62 | Data from the API is cached for 60 seconds, except for Recent Average Price (RAP) data, which is cached for 4 hours. 63 | 64 | ## Rate Limiting: 65 | We encourage users to avoid spamming the API with excessive requests. Please cache your requests and limit requests to 100 per minute per IP address. 66 | 67 | ## Versioning: 68 | We strive to maintain backward compatibility with all API versions. Any changes that may affect existing integrations will be clearly documented in the changelog. 69 | 70 | ## Contact Information: 71 | For any inquiries, feedback, or support requests related to the Pet Simulator 99 Public API, please open an issue on the [GitHub repository](https://github.com/BIG-Games-LLC/ps99-public-api-docs/issues). 72 | 73 | Explore the endpoints and integrate them into your applications! Happy coding! 74 | -------------------------------------------------------------------------------- /TERMS.md: -------------------------------------------------------------------------------- 1 | ## Terms of Service 2 | 3 | Thank you for using the Pet Simulator 99 Public API ("the API"). By accessing or using the API, you agree to comply with and be bound by the following terms and conditions of use. If you do not agree with any part of these terms, please do not use the API. 4 | 5 | 1. **API Usage:** The API is provided for non-commercial and personal use only. Commercial use of the API or any of its data is strictly prohibited without prior written consent from the API provider. 6 | 7 | 2. **Data Usage:** While using the API, you may access and use various in-game data and configuration details from Pet Simulator 99. However, you agree not to use the API to extract, collect, or store any data in a manner that violates the rights of the game developers or other users. 8 | 9 | 3. **Attribution:** If you display or use data obtained from the API publicly, you must provide appropriate attribution to Pet Simulator 99 and its developers. 10 | 11 | 4. **Abuse:** Any abusive or malicious use of the API, including but not limited to excessive requests, scraping, or unauthorized access, is strictly prohibited and may result in the suspension or termination of your access to the API. 12 | 13 | 5. **Changes to Terms:** The API provider reserves the right to modify or revise these terms of service at any time without prior notice. Your continued use of the API after any such changes signifies your acceptance of the updated terms. 14 | 15 | 6. **Disclaimer:** The API provider makes no warranties or representations regarding the accuracy, reliability, or completeness of the data provided through the API. The use of the API is at your own risk. 16 | 17 | 7. **Limitation of Liability:** In no event shall the API provider be liable for any direct, indirect, incidental, special, or consequential damages arising out of the use or inability to use the API. 18 | 19 | 8. **Governing Law:** These terms of service shall be governed by and construed in accordance with the laws of Texas, without regard to its conflict of law provisions. 20 | 21 | By using the Pet Simulator 99 Public API, you acknowledge that you have read, understood, and agree to be bound by these terms of service/use. If you have any questions or concerns regarding these terms, please contact the API provider for clarification. 22 | -------------------------------------------------------------------------------- /changelog/3-10-2024.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | Release! 4 | -------------------------------------------------------------------------------- /changelog/4-14-2024.md: -------------------------------------------------------------------------------- 1 | # Modified /clans 2 | 3 | ⚠️ The clans endpoint now requires pagination ⚠️ 4 | 5 | All parameters are now required: `page`, `pageSize`, `sort`, and `sortOrder`. 6 | 7 | `pageSize` must be an integer less than 1,000. 8 | 9 | This was necessary due to the growing size of total clans. Thank you. 10 | 11 | # Added /clansTotal 12 | 13 | Returns the integer amount of total clans 14 | 15 | # Added /clansList 16 | 17 | Returns a complete list of clan names 18 | -------------------------------------------------------------------------------- /changelog/5-31-2024.md: -------------------------------------------------------------------------------- 1 | # NOTE 2 | 3 | I ended up rolling this update back. I need to address some bugs in it. I'll update this post when it is ready again. 4 | 5 | --- 6 | 7 | # Updates to Collection Items 8 | 9 | ## New Fields Added 10 | 11 | Added 3 new fields to every item's collection: `dateModified`, `dateCreated`, and `hash`. 12 | 13 | ## New Fields Details 14 | 15 | 1. **`dateModified`**: 16 | - **Description**: This field records the date and time when the item was last modified. 17 | - **Behavior**: 18 | - When a new item is created, `dateModified` is set to the current date and time. 19 | - When an existing item is updated, `dateModified` is updated to the current date and time only if the `hash` value has changed. 20 | - If the `hash` value remains the same, `dateModified` will not change. 21 | 22 | 2. **`dateCreated`**: 23 | - **Description**: This field records the date and time when the item was first created. 24 | - **Behavior**: 25 | - When a new item is created, `dateCreated` is set to the current date and time. 26 | - For existing items before this update, `dateCreated` will be set to `null`. The goal is to eventually update these to accurate dates. 27 | 28 | 3. **`hash`**: 29 | - **Description**: This field stores a hash value based on the `configData` of the item. 30 | - **Behavior**: 31 | - The `hash` value is generated based on the `configData` content. 32 | - When `configData` changes, the `hash` value is recalculated and updated. 33 | - If `configData` remains the same, the `hash` value will not change. 34 | 35 | ## Impact on Existing Items 36 | 37 | - **Existing Items**: 38 | - `dateCreated` is initially set to `null` for all items that existed before this update. The goal is to eventually update these to accurate dates. 39 | - `dateModified` is initially set to `null`. It will be set to the current date and time the first time it is updated after this release. 40 | - `hash` is calculated based on the current `configData` of each item. 41 | 42 | ## Goal of Change 43 | 44 | With the introduction of these fields, you can now offer several new capabilities: 45 | 46 | - **Changelogs**: By tracking `dateModified`, you can provide detailed changelogs that highlight when each item was last updated. 47 | - **Historical Data Listings**: The `dateCreated` field allows you to list items based on their creation date, enabling the construction of historical data listings. 48 | - **Data Integrity**: The `hash` field ensures data integrity by verifying the consistency of `configData`. Any change in `configData` is reflected in the `hash`, allowing us to detect modifications accurately. 49 | --------------------------------------------------------------------------------