Skip to content

prm4u/prm4u-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

PRM4U API Documentation

Official API documentation and examples for PRM4U.com — Social Media Marketing Panel.

Use this API to automate orders, check balances, manage refills, and build your own SMM panel or application on top of PRM4U.

Quick Start

3 steps to get started:

  1. Get your API key — Log in to prm4u.com, go to Settings > API Key
  2. Pick a language — See the examples/ folder for ready-to-use code
  3. Make your first request — Try the "Get Balance" example below
curl -X POST https://prm4u.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=balance"

Response:

{
  "balance": "100.84",
  "currency": "USD"
}

That's it! You just made your first API call.


Table of Contents


Base Information

Property Value
API URL https://prm4u.com/api/v2
HTTP Method POST
Content-Type application/x-www-form-urlencoded
Response JSON
Encoding UTF-8

Important: All requests must use the POST method. GET requests will not work.


Authentication

Every API request requires your API key. You can find it in your PRM4U dashboard under Settings > API Key.

Your API key is sent as the key parameter in every request:

key=YOUR_API_KEY&action=balance

Keep your API key secret! Anyone with your key can place orders and spend your balance. If you suspect your key is compromised, regenerate it in your dashboard immediately.


Error Handling

When something goes wrong, the API returns a JSON object with an error field:

{
  "error": "Incorrect request"
}

Common errors:

Error Message What It Means How to Fix
Incorrect request Missing or invalid parameters Double-check all required parameters
Invalid API key Your API key is wrong Copy the key from your dashboard again
Not enough funds Balance is too low Top up your balance at prm4u.com
Incorrect order ID Order doesn't exist Verify the order ID
Incorrect service ID Service doesn't exist Call services to get valid IDs
Quantity below minimum Order quantity too small Check min from the service list
Quantity above maximum Order quantity too large Check max from the service list

Endpoints

1. Get Services List

Returns all available services with prices, limits, and features.

This is usually the first endpoint you call — it gives you the service IDs you need for placing orders.

Parameter Type Required Description
key string Yes Your API key
action string Yes services

Request:

curl -X POST https://prm4u.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=services"

Response:

[
  {
    "service": 1,
    "name": "Instagram Followers — Real & Active",
    "type": "Default",
    "category": "Instagram - Followers",
    "rate": "0.90",
    "min": "50",
    "max": "10000",
    "refill": true,
    "cancel": true
  },
  {
    "service": 2,
    "name": "YouTube Views — High Retention",
    "type": "Default",
    "category": "YouTube - Views",
    "rate": "1.50",
    "min": "100",
    "max": "100000",
    "refill": false,
    "cancel": true
  }
]

Response fields explained:

Field Type Description
service integer Unique service ID — use this when placing orders
name string Human-readable service name
type string Service type: Default, Package, Custom Comments, Subscriptions, etc.
category string Service category (e.g., "Instagram - Followers")
rate string Price per 1000 units in USD
min string Minimum order quantity
max string Maximum order quantity
refill boolean true if the service supports free refills
cancel boolean true if you can cancel a pending order

Tip: Cache this response locally and refresh it once a day. Services don't change frequently.


2. Add Order

Place a new order. The parameters you need depend on the service type.

Common Parameters (all order types)

Parameter Type Required Description
key string Yes Your API key
action string Yes add
service integer Yes Service ID (from the services list)
link string Yes Target URL (e.g., Instagram post link)

Type: Default / Package

The most common order type. You specify a quantity and optionally set up recurring delivery.

Parameter Type Required Description
quantity integer Yes How many units to order (between min and max)
runs integer No Number of delivery runs (for drip-feed)
interval integer No Minutes between each run

Example — Order 1000 Instagram followers:

curl -X POST https://prm4u.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=add" \
  -d "service=1" \
  -d "link=https://instagram.com/username" \
  -d "quantity=1000"

Example — Drip-feed 500 followers over 5 runs, 60 min apart:

curl -X POST https://prm4u.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=add" \
  -d "service=1" \
  -d "link=https://instagram.com/username" \
  -d "quantity=500" \
  -d "runs=5" \
  -d "interval=60"

Type: SEO

For SEO services that target specific keywords.

Parameter Type Required Description
quantity integer Yes Number of units
keywords string Yes Keywords, one per line (separated by \n)

Example:

curl -X POST https://prm4u.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=add" \
  -d "service=100" \
  -d "link=https://example.com" \
  -d "quantity=1000" \
  -d "keywords=smm panel
best smm service
buy followers"

Type: Custom Comments

You provide the exact comments to post.

Parameter Type Required Description
comments string Yes Comments, one per line (separated by \n)

Example:

curl -X POST https://prm4u.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=add" \
  -d "service=50" \
  -d "link=https://instagram.com/p/ABC123" \
  -d "comments=Great post!
Love this content!
Amazing work 🔥"

Note: The number of comments equals the number of lines you send. Each line = one comment.

Type: Subscriptions (Auto-Likes / Auto-Views)

Automatically delivers to new posts as they appear.

Parameter Type Required Description
username string Yes Target username (without @)
min integer Yes Minimum quantity per post
max integer Yes Maximum quantity per post
posts integer No How many future posts to deliver to (0 = unlimited)
old_posts integer No Number of existing posts to process
delay integer Yes Minutes to wait before delivering. Options: 0, 5, 10, 15, 20, 30, 40, 50, 60, 90, 120, 150, 180, 210, 240, 270, 300, 360, 420, 480, 540, 600
expiry string No Expiration date in d/m/Y format (e.g., 25/12/2026)

Example — Auto-likes on new posts:

curl -X POST https://prm4u.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=add" \
  -d "service=200" \
  -d "link=https://instagram.com/username" \
  -d "username=username" \
  -d "min=100" \
  -d "max=200" \
  -d "delay=10" \
  -d "posts=0" \
  -d "expiry=31/12/2026"

Type: Web Traffic

Targeted website traffic from search engines or referrers.

Parameter Type Required Description
quantity integer Yes Number of visits
country string Yes Country code (US) or full name (United States)
device integer Yes 1 Desktop, 2 Android, 3 iOS, 4 Mixed Mobile, 5 Mixed All
type_of_traffic integer Yes 1 Google Keyword, 2 Custom Referrer, 3 Blank Referrer
google_keyword string If type=1 Search keyword (required when type_of_traffic=1)
referring_url string If type=2 Referrer URL (required when type_of_traffic=2)
runs integer No Number of delivery runs
interval integer No Minutes between runs

Example — 5000 visits from Google search:

curl -X POST https://prm4u.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=add" \
  -d "service=300" \
  -d "link=https://example.com" \
  -d "quantity=5000" \
  -d "country=US" \
  -d "device=5" \
  -d "type_of_traffic=1" \
  -d "google_keyword=best smm panel"

Type: Poll Invites

Parameter Type Required Description
quantity integer Yes Number of votes
answer_number integer Yes Which poll answer to vote for (starting from 1)

Type: Groups Invites

Parameter Type Required Description
quantity integer Yes Number of invites
groups string Yes Group links, one per line (separated by \n)

Order Response

All successful orders return:

{
  "order": 23501
}
Field Type Description
order integer Your order ID — save this to check status later

3. Check Order Status

Check the status of a single order.

Parameter Type Required Description
key string Yes Your API key
action string Yes status
order integer Yes Order ID

Request:

curl -X POST https://prm4u.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=status" \
  -d "order=23501"

Response:

{
  "charge": "0.27819",
  "start_count": "3572",
  "status": "Partial",
  "remains": "157",
  "currency": "USD"
}

Response fields:

Field Type Description
status string Pending, In progress, Processing, Completed, Partial, Canceled, Refunding
charge string Amount charged for this order (in USD)
start_count string Counter value when the order started
remains string How many units are left to deliver
currency string Currency code

Order status lifecycle:

Pending → In progress → Processing → Completed
                                   → Partial (partially delivered)
                                   → Canceled

4. Check Multiple Orders Status

Check up to 100 orders in a single request.

Parameter Type Required Description
key string Yes Your API key
action string Yes status
orders string Yes Comma-separated order IDs (max 100)

Request:

curl -X POST https://prm4u.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=status" \
  -d "orders=23501,23502,23503"

Response:

{
  "23501": {
    "charge": "0.27819",
    "start_count": "3572",
    "status": "Completed",
    "remains": "0",
    "currency": "USD"
  },
  "23502": {
    "charge": "0.50000",
    "start_count": "1000",
    "status": "In progress",
    "remains": "350",
    "currency": "USD"
  },
  "23503": {
    "error": "Incorrect order ID"
  }
}

Tip: Use this instead of checking orders one by one — it's faster and more efficient.


5. Create Refill

Request a free refill for a completed order (only if the service supports refills).

Parameter Type Required Description
key string Yes Your API key
action string Yes refill
order integer Yes Order ID

Request:

curl -X POST https://prm4u.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=refill" \
  -d "order=23501"

Response:

{
  "refill": "1"
}
Field Type Description
refill integer Refill request ID — use this to check refill status

6. Create Multiple Refills

Request refills for up to 100 orders at once.

Parameter Type Required Description
key string Yes Your API key
action string Yes refill
orders string Yes Comma-separated order IDs (max 100)

Request:

curl -X POST https://prm4u.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=refill" \
  -d "orders=23501,23502"

Response:

[
  { "order": 23501, "refill": 1 },
  { "order": 23502, "refill": 2 }
]

7. Check Refill Status

Parameter Type Required Description
key string Yes Your API key
action string Yes refill_status
refill integer Yes Refill ID

Request:

curl -X POST https://prm4u.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=refill_status" \
  -d "refill=1"

Response:

{
  "status": "Completed"
}

Refill statuses: Pending, In progress, Completed, Rejected


8. Check Multiple Refills Status

Parameter Type Required Description
key string Yes Your API key
action string Yes refill_status
refills string Yes Comma-separated refill IDs (max 100)

Request:

curl -X POST https://prm4u.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=refill_status" \
  -d "refills=1,2,3"

Response:

[
  { "refill": 1, "status": "Completed" },
  { "refill": 2, "status": "Rejected" },
  { "refill": 3, "status": "Pending" }
]

9. Cancel Orders

Cancel one or more pending orders. Only works for services with cancel: true.

Parameter Type Required Description
key string Yes Your API key
action string Yes cancel
orders string Yes Comma-separated order IDs (max 100)

Request:

curl -X POST https://prm4u.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=cancel" \
  -d "orders=23501,23502"

Response:

[
  { "order": 23501, "cancel": 1 },
  { "order": 23502, "cancel": { "error": "Incorrect order ID" } }
]

10. Check Balance

Check your current account balance.

Parameter Type Required Description
key string Yes Your API key
action string Yes balance

Request:

curl -X POST https://prm4u.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=balance"

Response:

{
  "balance": "100.84292",
  "currency": "USD"
}

Order Types Explained

Type What It Does Key Parameters
Default Standard delivery (followers, likes, views) quantity
Package Pre-configured package quantity
SEO SEO traffic with keywords quantity, keywords
Custom Comments Post specific comments you write comments
Subscriptions Auto-delivery to new posts username, min, max, delay
Web Traffic Website visits from specific sources quantity, country, device, type_of_traffic
Poll Invites Votes on a poll quantity, answer_number
Groups Invites Invite members to groups quantity, groups

Code Examples

Ready-to-use examples in popular languages:

Language File Description
Python examples/python/ Full client with all methods + async version
JavaScript examples/javascript/ Node.js client + browser-ready fetch examples
PHP examples/php/ cURL-based client class
Go examples/go/ Typed client with error handling
Bash examples/bash/ Shell scripts using curl

Rate Limits

  • There is no strict rate limit, but we recommend max 1 request per second
  • Bulk endpoints (status with orders, refill with orders) accept up to 100 IDs per request — use them instead of individual requests
  • If you receive HTTP 429, wait 5 seconds before retrying

FAQ

Q: How do I find the right service ID? A: Call the services endpoint. Filter by category to find what you need, then use the service field as the ID.

Q: What's the difference between order and orders parameter? A: Use order (singular) for a single order ID. Use orders (plural, comma-separated) to check/refill/cancel multiple orders at once.

Q: How do I calculate the price of an order? A: price = (rate / 1000) * quantity. The rate is per 1000 units. So if rate is 0.90 and you order 500, the cost is (0.90 / 1000) * 500 = $0.45.

Q: What does "Partial" status mean? A: The order was only partially completed. For example, you ordered 1000 followers but only 843 were delivered. The remaining amount is refunded to your balance.

Q: Can I resend to a "Partial" order? A: No. Create a new order for the remaining quantity, or use the refill endpoint if the service supports refills.

Q: How quickly do orders start? A: Most orders start within seconds to minutes. Some services may take up to a few hours depending on demand.


Support


License

This documentation and examples are provided under the MIT License. Use them freely in your projects.

About

PRM4U.com API Documentation & Examples — Python, JavaScript, PHP, Go, Bash

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors