Skip to main content

🔌 API Documentation

Complete reference for the Procurement Code Finder API

Introduction

The Procurement Code Finder API allows you to classify tender descriptions into procurement codes across multiple classification systems: CPV, PSC, UNSPSC, and NAICS.

All API requests are made to: https://www.procurementcodefinder.com/api

The API returns JSON responses with classification results, confidence scores, and cost information.

Authentication

Authenticate your API requests using your API key in the request header:

X-API-Key: your_api_key_here

You can find your API key in your dashboard after signing up.

Getting Your API Key

  1. Sign up for a free account
  2. Navigate to your dashboard
  3. Copy your API key from the "API Key" card
  4. Include it in the X-API-Key header for all requests

Rate Limits

Rate limits vary based on authentication:

  • Demo (no auth): 10 requests per hour
  • Authenticated: 100 requests per minute

When you exceed the rate limit, you'll receive a 429 (Too Many Requests) response. Wait before making additional requests.

CPV Match

Match tender descriptions to Common Procurement Vocabulary (CPV) codes.

POST/api/cpv/match

Request

{
  "description": "Supply and installation of solar panels for government building"
}

Response

200 OK

{
  "success": true,
  "message": "API call successful",
  "data": [
    {
      "code": "09331000",
      "title": "Solar panels",
      "confidence": 0.95,
      "codeType": "cpv"
    }
  ],
  "metadata": {
    "cost": {
      "apiCost": 0.000105
    }
  }
}

PSC Match

Match tender descriptions to Product Service Codes (PSC).

POST/api/psc/match

Request

{
  "description": "IT consulting and software development services"
}

Response

Same structure as CPV Match response.

UNSPSC Match

Match tender descriptions to United Nations Standard Products and Services Code (UNSPSC).

POST/api/unspsc/match

Request

{
  "description": "Office furniture and equipment"
}

Response

Same structure as CPV Match response.

NAICS Match

Match tender descriptions to North American Industry Classification System (NAICS) codes.

POST/api/naics/match

Request

{
  "description": "Construction and building services"
}

Response

Same structure as CPV Match response.

Error Handling

The API uses standard HTTP status codes and returns errors in this format:

{
  "success": false,
  "error": "ERROR_TYPE",
  "message": "Human-readable error message"
}

Common Error Types

  • VALIDATION_ERROR - Invalid request parameters
  • UNAUTHORIZED - Missing or invalid API key
  • RATE_LIMIT_EXCEEDED - Too many requests
  • INSUFFICIENT_BALANCE - Not enough USD balance
  • INTERNAL_ERROR - Server error

Pricing

Pricing is dynamic and based on the complexity of the API response. Each response includes cost information in the metadata.

Typical costs: $0.00007 - $0.00015 per API call

All new accounts receive $5.00 USD free balance to get started.

Code Examples

cURL

curl -X POST https://your-domain.com/api/cpv/match \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your_api_key_here" \
  -d '{
    "description": "Supply and installation of solar panels"
  }'

JavaScript

const response = await fetch('/api/cpv/match', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'your_api_key_here'
  },
  body: JSON.stringify({
    description: 'Supply and installation of solar panels'
  })
});

const data = await response.json();
console.log(data);

Python

import requests

url = 'https://your-domain.com/api/cpv/match'
headers = {
    'Content-Type': 'application/json',
    'X-API-Key': 'your_api_key_here'
}
data = {
    'description': 'Supply and installation of solar panels'
}

response = requests.post(url, json=data, headers=headers)
print(response.json())