Developers · API v1 · MCP
Let your agents source ship supplies.
vslProcure has an open API and an MCP server. Claude, ChatGPT or your own software can find marine suppliers by port, read your RFQs and quotes, and prepare draft RFQs for a person to publish. Free, like the rest of vslProcure.
What it does
Two ways in, the same rules as the website.
Public directory, no token
Search listed suppliers by port (UN/LOCODE), category, country, Verified badge and founding membership; read public profiles; look up ports and categories. Exactly what a visitor sees on the site, nothing more: direct contact details stay private until a supplier replies to an enquiry.
Your account, with a token
A personal token acts as you. Buyers list their RFQs and every quote received; suppliers list the RFQs at their ports and their own quotes. Nobody sees another company's RFQs or a competitor's quote.
Drafts and enquiries, never surprises
With a read-and-write token an agent can save a draft RFQ (port, vessel, arrival date, items) and send an enquiry to a supplier. Publishing an RFQ stays a human step in the app, and enquiries share the website's limits.
MCP server
Connect an AI assistant.
The server speaks the Model Context Protocol over Streamable HTTP at https://vslprocure.com/mcp (revision 2026-07-28, and the 2025 revisions for older clients). Public tools work without a token. For your own RFQs and quotes, send your token as the header Authorization: Bearer vslp_… (create it on API & AI agents).
Claude and ChatGPT apps
Add a custom connector (in Claude) or an MCP connector in developer mode (in ChatGPT) with the address above. Without a token you get the public tools: supplier, port and category search.
Claude Code
claude mcp add --transport http vslprocure https://vslprocure.com/mcp \
--header "Authorization: Bearer $VSLPROCURE_TOKEN"
Agents and editors with a JSON config
Cursor, VS Code, agent frameworks and other clients that accept a remote server with headers:
{
"mcpServers": {
"vslprocure": {
"type": "http",
"url": "https://vslprocure.com/mcp",
"headers": { "Authorization": "Bearer vslp_your_token" }
}
}
}
Desktop apps that only run local servers
Bridge the remote server with mcp-remote (needs Node.js):
{
"mcpServers": {
"vslprocure": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://vslprocure.com/mcp",
"--header", "Authorization: Bearer ${VSLPROCURE_TOKEN}"],
"env": { "VSLPROCURE_TOKEN": "vslp_your_token" }
}
}
}
Tools
What an agent can call.
| Tool | What it does | Access |
|---|---|---|
| search_suppliers | Search the vslProcure directory of marine suppliers (ship chandlers, technical stores, spares and marine services) by text, port, category and country. Returns public profile summaries with honest badges: verified is true only after vslProcure checked the company's domain email, trade licence and a credential; founding_member is a joining offer, not a quality mark. Paginated: pass next_cursor back as cursor. | Public |
| get_supplier | The public profile of one supplier: description, ports, categories, services, products, credentials (and whether vslProcure reviewed them). Direct contact details are not public: the supplier shares them after replying to an enquiry (send_enquiry). | Public |
| search_ports | Find ports by name, UN/LOCODE or country, with the number of listed suppliers at each. Use a result's unlocode (or slug) as the port in other tools. | Public |
| list_categories | Every supplier category (departments such as provisions, deck and engine stores, and their sub-categories) with slugs and listed-supplier counts. | Public |
| list_my_rfqs | Needs an API token. A buyer gets its company's requests for quotation (with quote counts); a supplier gets the open RFQs at the ports it serves or it was invited to. Newest first. | Token |
| get_rfq | Needs an API token. One RFQ the account may open, with its line items and the quotes it may see: a buyer sees every quote on its own RFQ, a supplier only its own quote. | Token |
| list_my_quotes | Needs an API token. A supplier gets its own quotes; a buyer gets the quotes received on its RFQs. Newest first. | Token |
| create_rfq_draft | Needs a read-and-write API token of a buyer account. Saves a DRAFT request for quotation (delivery port, vessel, arrival date, line items). It is never published by this tool: a person reviews and publishes it in the app, and only then are suppliers invited. Returns the draft and its link. | Read-and-write token |
| send_enquiry | Needs a read-and-write API token and a confirmed email address. Sends a message (or a quote request for one supplier) from the account's company to a supplier, like "Contact supplier" on its profile. The supplier gets it by email and replies in the vslProcure inbox. Limited to 10 an hour and 30 a day per user, shared with the website. Confirm with the user before sending. | Read-and-write token |
REST API
JSON over HTTPS, versioned.
Base address https://vslprocure.com/api/v1. Lists return data and next_cursor: pass it back as cursor for the next page (limit 1 to 50). Errors return error.code and error.message. Public responses can be cached (ETag, five minutes) and are open to browsers (CORS).
| Endpoint | Returns | Access |
|---|---|---|
| GET /suppliers | Listed suppliers. Filters: q, port (UN/LOCODE, slug or id), category, country, verified, founding_member. | Public |
| GET /suppliers/:slug | A public profile: ports, categories, services, products, credentials. | Public |
| GET /ports | Ports with listed-supplier counts. Filters: q, country, has_suppliers. | Public |
| GET /categories | Departments and sub-categories. | Public |
| GET /me | Who the token acts for. | Token |
| GET /rfqs, GET /rfqs/:id | Your RFQs (filter status); one RFQ with items and the quotes you may see. | Token |
| GET /quotes | Suppliers: your quotes. Buyers: quotes received. | Token |
| POST /rfqs | Saves a draft RFQ (buyers). Never published by the API. | Read-and-write token |
| POST /enquiries | Sends an enquiry or quote request to one supplier (confirmed email needed). | Read-and-write token |
Find suppliers at Jebel Ali
curl "https://vslprocure.com/api/v1/suppliers?port=AEJEA&category=provisions-prov&limit=5"
{
"data": [
{
"id": 42,
"slug": "example-ship-chandlers",
"name": "Example Ship Chandlers",
"city": "Dubai",
"country": "United Arab Emirates",
"verified": false,
"founding_member": true,
"ports": [{ "name": "Jebel Ali", "unlocode": "AEJEA", "country": "United Arab Emirates" }],
"categories": [{ "id": 3, "name": "Provisions", "slug": "provisions-prov" }],
"url": "https://vslprocure.com/suppliers/example-ship-chandlers"
}
],
"next_cursor": "WyJFeGFtcGxlIFNoaXAgQ2hhbmRsZXJzIiw0Ml0"
}
Your open RFQs
curl https://vslprocure.com/api/v1/rfqs?status=open \
-H "Authorization: Bearer $VSLPROCURE_TOKEN"
Prepare a draft RFQ
curl -X POST https://vslprocure.com/api/v1/rfqs \
-H "Authorization: Bearer $VSLPROCURE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"port": "AEFJR", "vessel_name": "MV Northern Light",
"delivery_date": "2026-11-02",
"items": [{"description": "Mooring rope 64 mm", "quantity": 8, "unit": "coil"}]}'
The answer links to the draft in the app, where you review and publish it.
Limits
Rate limits.
Limits apply to the API and the MCP server together. Every answer carries x-ratelimit-remaining; over the limit you get a 429 with retry-after. Need more for a real integration? Write to hello@vslprocure.com.
- Without a token: 60 requests a minute and 3000 a day per IP address. Public
- With a token: 120 requests a minute and 10000 a day per token. Token
- Draft RFQs: 20 an hour and 100 a day per user. Enquiries: 10 an hour and 30 a day per user, shared with the website. Writes
- Request size: 64 KB per request body. Size
Terms
Fair use.
Using the API and MCP server is part of using vslProcure, so the Terms of use apply. In short:
- Free. No fee for the API or the MCP server, for buyers or suppliers. Price
- No bulk copying. Use the directory to find and contact suppliers. Don't copy it to build another directory or a list for marketing, and don't resell the data. Data
- A person stays in charge. Agents prepare drafts; people publish RFQs. Messages sent through an agent are your company's messages: check them before they go. Agents
- Keep tokens secret. A token acts as you. Revoke it on API & AI agents if it leaks; we may revoke tokens that are abused. Tokens
- Stable v1. We add fields and tools without breaking v1. Breaking changes come as a new version, announced on this page. Versions