Streamline your logistics and inventory management with our robust API solution.
The 3PLGuys Public API provides developers with seamless access to our warehouse management system, inventory tracking, and shipment services. Our RESTful endpoints make it easy to integrate your applications with our logistics infrastructure.
Real-time stock levels and warehouse management
FBA, SPD, and LTL shipping integrations
Real-time events and status updates
// Example API Request
fetch('https://api.3plguys.com/inventory/status', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(data => console.log(data));
Track stock levels, manage products, and automate inventory operations.
Create shipping labels, track deliveries, and manage carrier integrations.
Build branded tracking interfaces and order management systems.
The 3PLGuys API uses JWT (JSON Web Token) authentication. All API requests must include an Authorization header with a valid token.
Authorization: Bearer <your-token>
curl -X GET \ https://api.3plguys.com/inventory/products \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...' \ -H 'Content-Type: application/json'
To get a JWT token, make a POST request to the authentication endpoint with your API credentials:
POST https://api.3plguys.com/auth/token
{
"client_id": "your_client_id",
"client_secret": "your_client_secret"
}
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600
}
JWT tokens expire after 1 hour (3600 seconds). You'll need to request a new token when your current one expires.
Always keep your client credentials secure and never expose them in client-side code.
The 3PLGuys API is available in two environments to support your development workflow. Use the sandbox environment for testing and development, and the production environment for live integrations.
For live applications with real data.
https://api.3plguys.com
For development and testing purposes.
https://sandbox.3plguys.com
We recommend using environment variables to manage your API endpoints and credentials based on your application environment.
// .env.development
API_URL=https://sandbox.3plguys.com
API_CLIENT_ID=your_sandbox_client_id
API_CLIENT_SECRET=your_sandbox_client_secret
// .env.production
API_URL=https://api.3plguys.com
API_CLIENT_ID=your_production_client_id
API_CLIENT_SECRET=your_production_client_secret
| Feature | Sandbox | Production |
|---|---|---|
| Data | Mock data | Real data |
| Rate Limits | 1000 requests/hour | Varies by plan |
| Webhooks | Test events available | Real-time events |
| Authentication | Separate credentials | Production credentials |
| Data Reset | Weekly | Never |
Always use the sandbox environment for initial development and testing. Switch to production only when your integration is fully tested and ready for production traffic.
The 3PLGuys API is documented using the OpenAPI Specification (formerly Swagger). Our API documentation is available in both JSON and YAML formats, and can be viewed using the Swagger UI or any OpenAPI-compatible tool.
Swagger UI provides an interactive documentation interface for exploring and testing our API endpoints. You can use our hosted Swagger UI or import our OpenAPI specifications into your own tools.
Our OpenAPI specifications can be imported into various API development tools:
Interactive API documentation
{
"openapi": "3.0.0",
"info": {
"title": "3PLGuys API",
"description": "API for inventory, shipment, and warehouse management",
"version": "1.0.0"
},
"servers": [
{
"url": "https://api.3plguys.com",
"description": "Production"
},
{
"url": "https://sandbox.3plguys.com",
"description": "Sandbox"
}
],
"paths": {
"/inventory/products": {
"get": {
"summary": "List products",
"description": "Returns a paginated list of products",
"responses": {
"200": {
"description": "A list of products",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Product"
}
}
}
}
}
}
}
}
}
}
You can generate client libraries in various languages using our OpenAPI specification. This simplifies integration with our API.
API requests are limited to 100 per minute per API key.
The Inventory API allows you to manage products, track inventory levels, and retrieve stock information across warehouses.
Manage your product catalog and retrieve product information.
Track stock levels and manage inventory across warehouses.
Our inventory API provides real-time updates across all warehouse locations, ensuring you always have accurate stock information for your operations.
View Example Implementation
# Get inventory levels
curl -X GET \
https://api.3plguys.com/inventory/levels \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'
# Create a shipment
curl -X POST \
https://api.3plguys.com/shipments/create \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"recipient": {
"name": "John Doe",
"address1": "123 Main St",
"city": "Anytown",
"state": "CA",
"zip": "90210",
"country": "US"
},
"items": [
{
"product_id": "prod_12345",
"quantity": 2
}
],
"shipping_method": "ground"
}'
Subscribe to release notifications
We recommend always using the most recent version for best performance and security.
Released on July 15, 2023
Released on May 2, 2023
Released on March 11, 2023
This page documents current limitations and known issues with the 3PLGuys Public API. Understanding these constraints will help you build more reliable integrations and avoid common pitfalls.
Our API implements rate limiting to ensure fair usage and system stability. Exceeding these limits will result in
429 Too Many Requests responses.
| Endpoint Category | Rate Limit | Window |
|---|---|---|
| Authentication | 10 requests | per minute |
| Inventory Queries | 300 requests | per minute |
| Shipment Creation | 60 requests | per minute |
| Webhook Management | 30 requests | per minute |
Rate limit headers are included in all API responses:
X-RateLimit-Limit: 300 X-RateLimit-Remaining: 297 X-RateLimit-Reset: 1623435789
API requests and responses have size limits to ensure optimal performance. Exceeding these limits will result in
413 Payload Too Large errors.
For batch operations (e.g., inventory updates), we recommend:
When working with potentially large responses, always use pagination parameters:
GET /v1/inventory?limit=100&page=2
X-Pagination-Total: 1250 X-Pagination-Pages: 13 X-Pagination-Current: 2 X-Pagination-Limit: 100
Some operations involve asynchronous processing. This means your request may return a
202 Accepted
status while processing occurs in the background.
May take up to 5 minutes for large batches
Typically processes within 2-3 minutes
Up to 10 minutes for comprehensive reports
For asynchronous operations, you'll receive a task ID to check the status:
GET /v1/tasks/2b1c43d8-e762-4b96-9e61-e8fad6d31072
Data synchronization between our system and external marketplaces (Amazon, Shopify, etc.) may take up to 30 minutes. Plan your integration accordingly and do not rely on immediate cross-platform consistency.
We strive to maintain backward compatibility, but occasionally need to make breaking changes. Our versioning policy is as follows:
Breaking changes with 6-month migration period
New features, backward compatible
Bug fixes, no breaking changes
/v1/inventory/legacy-search will be removed on August 31, 2023. Use
/v1/inventory/search instead.
format parameter in shipment endpoints will be required starting October 15, 2023.
You can pin your requests to a specific API version using the X-API-Version header:
GET /v1/inventory X-API-Version: 2023-04-15
We recommend updating your integration regularly to use the latest available version.
We perform scheduled maintenance during low-traffic periods. During these windows, the API may experience brief periods of downtime or degraded performance.
We provide advance notice of scheduled maintenance through multiple channels:
If you encounter issues or have questions regarding API limitations, our technical support team is available to help.
Help us improve by reporting issues or requesting features
Our API is constantly evolving based on your feedback. If you encounter an issue or have an idea for improvement, please let us know through our GitHub issue tracker.
If you've encountered an issue with the 3PLGuys API, please report it through our GitHub issue tracker. Providing detailed information helps us resolve issues faster.
Check token expiration and ensure you're using the correct token format in the Authorization header.
Implement proper backoff strategies and monitor the rate limit headers in API responses.
Review input parameters against the API reference and check response body for detailed error messages.
Ensure your webhook endpoint is publicly accessible and responds with a 200 status code.
Have an idea to improve our API? We'd love to hear it! Submit feature requests through our GitHub issues tracker to help us prioritize future development.
Added in v1.3.0 — Allows for updating multiple inventory items in a single API call
Added in v1.2.0 — Subscribe to specific event types rather than all webhooks
Added in v1.1.0 — Create and manage support tickets programmatically
Need additional help? Our technical support team is available to assist with integration challenges, account issues, or general questions about the 3PLGuys API.
Our support team is available during the following hours:
Help us improve our documentation and API experience
We're here to help you succeed with the 3PLGuys API. Choose the support option that best fits your needs, or check our documentation for answers to common questions.
Our technical support team is here to assist with API integration, troubleshooting, and answering your questions.
Connect with other developers integrating with the 3PLGuys API. Share knowledge, ask questions, and learn from the experiences of others in our community.
Check out our open-source tools, client libraries, and examples to help with your integration.
Our support team is available during the following hours. For urgent issues outside these hours, Enterprise customers have access to 24/7 emergency support.
Our support team observes the following holidays, during which support hours may be limited or unavailable.
Included with all API accounts
For growing businesses
For high-volume customers
Contact our sales team to discuss tailored support solutions for your business