Rapaport Price Lists

Overview

The Rapaport Price Lists are the diamond industry’s primary source of diamond price information for the diamond trade.  

They are an approximate guideline for dealers, used to evaluate a broad range of diamond sizes and qualities, and serve as a starting point for diamond trade negotiations. 

Rapaport publishes two price lists – the Round Price List and the Pear Price List. They are only for white diamonds and cover 1-10 carat sizes. 

  • The Rapaport Price List is updated and published every Thursday, at 11:59 pm EST.  
  • The Pear Price List is often used as a price guideline for other fancy shapes as there are no price lists for other fancy diamond shapes. 
  • There is no price list for fancy colored diamonds. 
  • For 6+ carat diamonds, dealers generally base prices on 5-carat price listings.
  • Each list is available in several formats.

Important Note

  • The Rapaport Price Lists are  copyrighted and available to subscribers only.   
  • It is strictly forbidden to reproduce the Rapaport Price Lists in any form.

Rapaport Price List Structure

The Rapaport Price Lists are made up of many categories. You can quickly find which category your diamond belongs to, depending on its shape, Ct. weight, color, and clarity. 

Ct. Weight Start – End Colors Clarities
0.01-0.03
D-F, G-H, I-J, K-L, M-N
IF-VVS*, VS**, SI1, SI2, SI3, I1, I2, I3
0.04-0.07
D-F, G-H, I-J, K-L, M-N
IF-VVS*, VS**, SI1, SI2, SI3, I1, I2, I3
0.08 – 0.14
D-F, G-H, I-J, K-L, M-N
IF-VVS*, VS**, SI1, SI2, SI3, I1, I2, I3
0.15 – 0.17
D-F, G-H, I-J, K-L, M-N
IF-VVS*, VS**, SI1, SI2, SI3, I1, I2, I3
0.18 – 0.22
D-F, G-H, I-J, K-L, M-N
IF-VVS*, VS**, SI1, SI2, SI3, I1, I2, I3
0.23 – 0.29
D-F, G-H, I-J, K-L, M-N
IF-VVS*, VS**, SI1, SI2, SI3, I1, I2, I3
0.30 – 0.39
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
0.40 – 0.49
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
0.50 – 0.69
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
0.70 – 0.89
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
0.90 – 0.99
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
1.00 – 1.49
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
1.50 – 1.99
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
2.00 – 2.99
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
3.00 – 3.99
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
4.00 – 4.99
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
5.00 – 5.99
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
10.00 – 10.99
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3

Ct. Weight Start – End Colors Clarities
Ct. Weight
0.18 – 0.22
D-F, G-H, I-J, K-L, M-N
IF-VVS*, VS**, SI1, SI2, SI3, I1, I2, I3
Ct. Weight
0.23 – 0.29
D-F, G-H, I-J, K-L, M-N
IF-VVS*, VS**, SI1, SI2, SI3, I1, I2, I3
Ct. Weight
0.30 – 0.39
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
Ct. Weight
0.40 – 0.49
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
Ct. Weight
0.50 – 0.69
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
Ct. Weight
0.70 – 0.89
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
Ct. Weight
0.90 – 0.99
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
Ct. Weight
1.00 – 1.49
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
Ct. Weight
1.50 – 1.99
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
Ct. Weight
2.00 – 2.99
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
Ct. Weight
3.00 – 3.99
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
Ct. Weight
4.00 – 4.99
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
Ct. Weight
5.00 – 5.99
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3
Ct. Weight
10.00 – 10.99
D, E, F, G, H, I, J, K, L, M
IF, VVS1, VVS2, VS1, VS2, SI1, SI2, SI3, I1, I2, I3

* IF-VVS = IF, VVS1 & VVS2
** VS = VS1 & VS2

Rapaport Price List Formats and API’s

You can integrate the Rapaport Price Lists into your software for use within your company.  
This can be useful for a stock program, analysis software, appraisal software, etc. 

There are a number of available formats for the Rapaport Price List, available with an active Rapaport subscription only. 

Some formats are only intended for viewing and cannot be retrieved digitally. We recommend you use a common format.  This will prevent errors if there are any changes in the price list formats.

Format Details Sample code URL Endpoints
PDF
Data Format 1
- Comma delimited ASCII
without headers.
- Not normalized.
- Legacy Systems only
- Automatic Download -
Requirements: HTTP POST
request containing a username
and password in post data.

Click here
for Round URL Endpoints Data Format 1


Click here
for Pear URL Endpoints Data Format 1  

Data Format 2
(recommended)
Comma delimited ASCII
Normalized to Shape,
Clarity, Color, Min Size,
Max Size, Date

Click here
for Round URL Endpoints Data Format 2

Click here
for Pear URL Endpoints Data Format 2
 

DBF
Comma delimited ASCII
Normalized to Shape,
Clarity, Color, Min Size,
Max Size, Date

Click here
for Round DBF Format


Click here
for Pear DBF Format

XML Web Services
(recommended)
Programs
JSON
Programs

Get price sheet:
Get all Rapaport prices in one go

Get price:
Get Rapaport price for a specific quality diamond 

Get price changes:
Get all price changes

Get price sheet info:
Get the number of price changes

XML Web

To import the Rapaport Price List into your system, we recommend that you program your software to retrieve and import complete datasets of price lists or List Prices for specific shapes, sizes, color and clarities. 

We advise that you schedule your software to automatically download the latest Price Lists at least once a week to maintain up-to-date prices.

Note: You can also retrieve a Rapaport List Price for a specific shape, size, color and clarity.

Authentication Code

This is the Login method used for XML services:
				
					POST /webservices/prices/rapaportprices.asmx HTTP/1.1
Host: technet.rapaport.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <Login xmlns="http://technet.rapaport.com/">
      <Username>string</Username>
      <Password>string</Password>
    </Login>
  </soap12:Body>
</soap12:Envelope>
				
			

Get Price sheet
				
					POST /webservices/prices/rapaportprices.asmx HTTP/1.1
Host: technet.rapaport.com
Content-Type: text/xml
Content-Length: 564


?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <AuthenticationTicketHeader xmlns="http://technet.rapaport.com/">
      <Ticket></Ticket>
    </AuthenticationTicketHeader>
  </soap:Header>
  <soap:Body>
    <GetPriceSheet xmlns="http://technet.rapaport.com/">
      <shape>Round</shape>
    </GetPriceSheet>
  </soap:Body>
</soap:Envelope>
				
			

Get Price
				
					POST /webservices/prices/rapaportprices.asmx HTTP/1.1 
Host: technet.rapaport.com 
Content-Type: text/xml 
Content-Length: 630 

 

<?xml version="1.0" encoding="utf-8"?> 

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 

  <soap:Header> 

    <AuthenticationTicketHeader xmlns="http://technet.rapaport.com/"> 

      <Ticket></Ticket> 

    </AuthenticationTicketHeader> 

  </soap:Header> 

  <soap:Body> 

    <GetPrice xmlns="http://technet.rapaport.com/"> 

      <shape>round</shape> 

      <size>1</size> 

      <color>D</color> 

      <clarity>vs1</clarity> 

    </GetPrice> 

  </soap:Body> 

</soap:Envelope> console.log( 'Code is Poetry' );
				
			

JSON

  • You can retrieve the Rapaport price sheets, price changes, and specific prices using JSON format.
  • Each request and response has two sections: The ‘header’ and ‘body’.
  • The header section contains metadata, such as your username and password in the request and the response contains the results.
  • The body section contains the parameters and data that are sent and retrieved. The parameters differ per request and the corresponding response.

Usage: 

  1. All data should be sent using POST. 
  2. For authentication purposes, each request needs a username and password in the header section. 
  3. All requests must go to a URL starting with HTTPS because you pass user credentials. 
  4. Send request as Content-Type: application/x-www-form-urlencoded.  
  5. URL-Encode the request
  6. Optional values can be omitted or left blank.
  7. The response always contains an ‘error_code’ field. Value 0 means the operation succeeded. 

Each size range of diamonds has its own grid. For smaller sizes, the price grids refer to diamonds with color and clarity ranges. For larger diamonds, each color/clarity combination has a price. In the printed version and PDF files, all prices are in hundreds of U.S. dollars per carat.

In the electronic data files, the prices are the full dollar price per carat. 

JSON Available values and formats

  • username – string 
  • password – string
  • shape – string – “round”, “pear” or “” 
  • size – decimal – e.g. 2.10
  • color – string – “D”, “E”, “F”, “G”, “H”, “I”, “J”, “K”, “L”, “M”, “N”.
  • clarity – string – “IF”, “VVS1”, “VVS2”, “VS1”, “VS2”, “SI1”, “SI2”, “SI3”, “I1”, “I2”, “I3” 
  • dates will be in YYYY-MM-DD format

Required Field

Code

Shape: Select the round or the pear price list 

Size: Select the corresponding size range on the price list.  

Color: Select the row with the corresponding color.  

Clarity: Select the corresponding column for your clarity. 

IMPORTANT: For Price sheet and Price changes You only need the shape Field.

				
					POST /HTTP/JSON/Prices/GetPriceSheet.aspx HTTP/1.1
Host: technet.rapaport.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 148


{
"request": {
"header": {
"username": "", 
"password": ""

}, 
"body": {
'shape' : 'round',
'size' : 2.10,
'color' : 'E',
'clarity' : 'VS2'

}
}
}
				
			

Code Responses

Get Price
				
					{
"response": {
"header": {
"error_code": 0,
"error_message": ""

},
"body": {
"shape": "round",
"low_size": 2.00,
"high_size": 2.99,
"color": "E",
"clarity": "VS2",
"caratprice": 17000,
"date": "2010-12-31"
}
}
}
				
			
Get Price Sheet
				
					{
"response": {
"header": {
"error_code": 0,
"error_message": ""

},
"body": {
"price": [
{
"shape": "round",
"low_size": 0.01,
"high_size": 0.03,
"color": "D",
"clarity": "IF",
"caratprice": 860,
"date": "2010-12-31"
} ,

]
}
}
}
				
			
Get Price Sheet Changes
				
					{
"response": {
"header": {
"error_code": 0,
"error_message": ""

},
"body": {
"pricechange": [
{
"shape": "pear",
"low_size": 0.01,
"high_size": 0.03,
"color": "D",
"clarity": "IF",
"caratprice": 860,
"date": "2010-12-31",
"old_caratprice": 850,
"old_date": "2010-12-24"
} ,
]
}
}
}
				
			
Get Price Sheet Info
				
					{
"response": {
"header": {
"error_code": 0,
"error_message": ""

},
"body": {
"last_price_publication_date": "2014-06-26",
"total_price_changes": 4,
"round_price_changes": 2,
"pear_price_changes": 2
}
}
				
			

More Sample Codes

HTTP Post with WebRequest (C#)
				
					string URL = "FILE_URL_PATH";
WebRequest webRequest = WebRequest.Create(URL);

webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
Stream reqStream = webRequest.GetRequestStream();
string postData = "username=myusername&password=mypassword";
byte[] postArray = Encoding.ASCII.GetBytes(postData);
reqStream.Write(postArray, 0, postArray.Length);
reqStream.Close();
StreamReader sr = new StreamReader(webRequest.GetResponse().GetResponseStream());
string Result = sr.ReadToEnd();
				
			
HTTP POST with WebClient
				
					string URL = "FILE_URL_PATH";
WebClient webClient = new WebClient();

System.Collections.Specialized.NameValueCollection formData = new
System.Collections.Specialized.NameValueCollection();
formData["Username"] = "myusername";
formData["Password"] = "mypassword";
byte[] responseBytes = webClient.UploadValues(URL, "POST", formData);
string Result = Encoding.UTF8.GetString(responseBytes);
				
			
Java
				
					package com.rapaport.technet.webservices; 
 
import javax.xml.soap.MessageFactory; 
import javax.xml.soap.SOAPBody; 
import javax.xml.soap.SOAPConnection; 
import javax.xml.soap.SOAPConnectionFactory; 
import javax.xml.soap.SOAPElement; 
import javax.xml.soap.SOAPEnvelope; 
import javax.xml.soap.SOAPException; 
import javax.xml.soap.SOAPHeader; 
import javax.xml.soap.SOAPMessage; 
import javax.xml.soap.SOAPPart; 
import javax.xml.transform.Source; 
import javax.xml.transform.Transformer; 
import javax.xml.transform.TransformerException; 
import javax.xml.transform.TransformerFactory; 
import javax.xml.transform.stream.StreamResult; 
 
import org.w3c.dom.Node; 
import org.w3c.dom.NodeList; 
 
public final class WebServiceCodeSample { 

private static final String TECHNET_NAMESPACE_PREFIX = "technet"; 
private static final String WEBSERVICE_SECURE_URL = 

"https://technet.rapaport.com/webservices/prices/rapaportprices.asmx"; 

private static final String WEBSERVICE_INSECURE_URL = 

"http://technet.rapaport.com/webservices/prices/rapaportprices.asmx"; 

 
private enum Shapes { 

ROUND("Round"), PEAR("Pear"); 
 
private final String enumString; 
 
private Shapes(final String enumString) { 

this.enumString = enumString; 

} 

}; 
 
public static void main(String[] args) throws Exception { 

final WebServiceCodeSample webServiceCodeSample = new WebServiceCodeSample(); 
final String authenticationTicket = webServiceCodeSample.login("username", "password"); 
 
webServiceCodeSample.getPrice(authenticationTicket, "Round", 0.4F, "D", "VS1"); 
webServiceCodeSample.getPriceSheet(authenticationTicket, Shapes.ROUND); 

} 
 
/** 
* Get the login token 
* 
* @param username 
* @param password 
* @return The authentication ticket 
* @throws SOAPException 
*/ 
private String login( final String username, final String password) throws SOAPException { 

final SOAPMessage soapMessage = getSoapMessage(); 
final SOAPBody soapBody = soapMessage.getSOAPBody(); 
final SOAPElement loginElement = soapBody.addChildElement("Login", TECHNET_NAMESPACE_PREFIX); 
 
loginElement.addChildElement("Username", TECHNET_NAMESPACE_PREFIX).addTextNode(username); 
loginElement.addChildElement("Password", TECHNET_NAMESPACE_PREFIX).addTextNode(password); 
 
soapMessage.saveChanges(); 
 
final SOAPConnection soapConnection = getSoapConnection(); 
final SOAPMessage soapMessageReply = soapConnection.call(soapMessage,WEBSERVICE_SECURE_URL); 
final String textContent = soapMessageReply.getSOAPHeader().getFirstChild().getTextContent(); 
 
soapConnection.close(); 
 
return textContent; 

} 
 
/** 
* Returns the price 
* 
* @param authenticationTicket 
* @param shape 
* @param size 
* @param color 
* @param clarity 
* @throws SOAPException 
*/ 
private void getPrice( final String authenticationTicket, final String shape, final float size, final String color, 

final String clarity) throws SOAPException { 

final SOAPMessage soapMessage = getSoapMessage(); 
 
addAuthenticationTicket(authenticationTicket, soapMessage); 
 
final SOAPBody soapBody = soapMessage.getSOAPBody(); 
final SOAPElement getPriceElement = soapBody.addChildElement("GetPrice", TECHNET_NAMESPACE_PREFIX); 
getPriceElement.addChildElement("shape", TECHNET_NAMESPACE_PREFIX).addTextNode(shape); 
getPriceElement.addChildElement("size", TECHNET_NAMESPACE_PREFIX).addTextNode(String.valueOf(size)); 
getPriceElement.addChildElement("color", TECHNET_NAMESPACE_PREFIX).addTextNode(color); 
getPriceElement.addChildElement("clarity", TECHNET_NAMESPACE_PREFIX).addTextNode(clarity); 
 
soapMessage.saveChanges(); 
 
final SOAPConnection soapConnection = getSoapConnection(); 
 
final SOAPMessage soapMessageReply = soapConnection.call(soapMessage,WEBSERVICE_INSECURE_URL); 
 
final SOAPBody replyBody = soapMessageReply.getSOAPBody(); 
final Node getPriceResponse = replyBody.getFirstChild(); 
final Node getPriceResult = getPriceResponse.getFirstChild(); 
 
final NodeList childNodes = getPriceResult.getChildNodes(); 
final String replyShape = childNodes.item(0).getTextContent(); 
final String lowSize = childNodes.item(1).getTextContent(); 
 
// ... etc etc 
// You can create a bean that will encompass all elements 
 
soapConnection.close(); 

} /** 
* Gets the price sheet 
* 
* @param authenticationTicket 
* @param shapes 
* @throws SOAPException 
* @throws TransformerException 
*/ 
private void getPriceSheet( final String authenticationTicket, final Shapes shapes) 

throws SOAPException, TransformerException { 

final SOAPMessage soapMessage = getSoapMessage(); 
 
addAuthenticationTicket(authenticationTicket, soapMessage); 
 
final SOAPBody soapBody = soapMessage.getSOAPBody(); 
 
final SOAPElement getPriceSheetElement = 

soapBody.addChildElement("GetPriceSheet", TECHNET_NAMESPACE_PREFIX); 

 
getPriceSheetElement.addChildElement( 

"shape", TECHNET_NAMESPACE_PREFIX).addTextNode(shapes.enumString); 

 
soapMessage.saveChanges(); 
 
final SOAPConnection soapConnection = getSoapConnection(); 
final SOAPMessage soapMessageReply = soapConnection.call(soapMessage, WEBSERVICE_INSECURE_URL); 
 
// this will print out the result 
// Create transformer 
 
final TransformerFactory tff = TransformerFactory.newInstance(); 
final Transformer tf = tff.newTransformer(); 
 
// Get reply content 
final Source sc = soapMessageReply.getSOAPPart().getContent(); 
 
// Set output transformation 
final StreamResult result = new StreamResult(System.out); 
tf.transform(sc, result); 
System.out.println(); 
 
// Close connection 
soapConnection.close(); 

} 
 
/** 
* Create a SOAP Connection 
* 
* @return 
* @throws UnsupportedOperationException 
* @throws SOAPException 
*/ 
private SOAPConnection getSoapConnection() throws UnsupportedOperationException, SOAPException { 

final SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance(); 
final SOAPConnection soapConnection = soapConnectionFactory.createConnection(); 
 
return soapConnection; 

} 
 
/** 
* Create the SOAP Message 
* 
* @return 
* @throws SOAPException 
*/ 
private SOAPMessage getSoapMessage() throws SOAPException { 

final MessageFactory messageFactory = MessageFactory.newInstance(); 
final SOAPMessage soapMessage = messageFactory.createMessage(); 
 
// Object for message parts 
final SOAPPart soapPart = soapMessage.getSOAPPart(); 
final SOAPEnvelope envelope = soapPart.getEnvelope(); 
 
envelope.addNamespaceDeclaration("xsd", "http://www.w3.org/2001/XMLSchema"); 
envelope.addNamespaceDeclaration("xsi", "http://www.w3.org/2001/XMLSchema-instance"); 
envelope.addNamespaceDeclaration("enc", "http://schemas.xmlsoap.org/soap/encoding/"); 
envelope.addNamespaceDeclaration("env", "http://schemas.xmlsoap.org/soap/envelop/"); 
 
// add the technet namespace as "technet" 
envelope.addNamespaceDeclaration(TECHNET_NAMESPACE_PREFIX, "http://technet.rapaport.com/"); 
 
envelope.setEncodingStyle("http://schemas.xmlsoap.org/soap/encoding/"); 
 
return soapMessage; 

} 
 
private void addAuthenticationTicket( final String authenticationTicket, final SOAPMessage soapMessage) 

throws SOAPException { 

final SOAPHeader header = soapMessage.getSOAPHeader(); 
final SOAPElement authenticationTicketHeader = 

header.addChildElement("AuthenticationTicketHeader", TECHNET_NAMESPACE_PREFIX); 

authenticationTicketHeader.addChildElement( 

"Ticket", TECHNET_NAMESPACE_PREFIX).addTextNode(authenticationTicket); 

} 

} 
				
			
PHP
				
					//use nusoap library: http://sourceforge.net/projects/nusoap/ 
//tested with php 5, nusoap version 0.9.5 
require_once('lib/nusoap.php'); 
 
//NOTE: both parameters and values are case sensitve! 
//NOTE: the internal php class SoapClient does not work with named parameters and SOAP headers 
 
//prepare soap request to Rapaport: 
$rap_soapUrl = "https://technet.rapaport.com/webservices/prices/rapaportprices.asmx?wsdl"; 
$soap_Client = new nusoap_client($rap_soapUrl, 'wsdl'); 
$rap_credentials['Username'] = "loginname"; 
$rap_credentials['Password'] = "yourpassword"; 
 
//do login, and save authentication ticket for further use: 
$result = $soap_Client->call('Login', $rap_credentials); 
$rap_auth_ticket = $soap_Client->getHeaders(); 
 
//get complete price sheet, and save as a file (call this both for Round and Pear): 
$paramsB["shape"] = "Round"; 
$soap_Client->setHeaders($rap_auth_ticket); 
$result = $soap_Client->call('GetPriceSheet', $paramsB); 
 
$file=fopen("c:\\temp\\round_prices.csv","w+") or exit("Unable to open file!"); 
 
for ($i=0; $i 
 { 
 
$curLine = ""; 
$curLine .= $result['GetPriceSheetResult']['!Date']; 
$curLine .= "," . $result['GetPriceSheetResult']['!Shape']; 
$curLine .= "," . $result['GetPriceSheetResult']['Prices']['diffgram']['NewDataSet']['Table'][$i]['LowSize']; 
$curLine .= "," . $result['GetPriceSheetResult']['Prices']['diffgram']['NewDataSet']['Table'][$i]['LowSize']; 
$curLine .= "," . $result['GetPriceSheetResult']['Prices']['diffgram']['NewDataSet']['Table'][$i]['Color']; 
$curLine .= "," . $result['GetPriceSheetResult']['Prices']['diffgram']['NewDataSet']['Table'][$i]['Clarity']; 
$curLine .= "," . $result['GetPriceSheetResult']['Prices']['diffgram']['NewDataSet']['Table'][$i]['Price']; 
 
fwrite($file, $curLine.PHP_EOL); 
} 
 
fclose($file); 
 
?>
				
			
PHP: Single Price List​
				
					<?php 
//use nusoap library: http://sourceforge.net/projects/nusoap/ 
//tested with php 5, nusoap version 0.9.5 
require_once('lib/nusoap.php'); 
 
//NOTE: both parameters and values are case sensitve! 
 
//prepare soap request to Rapaport: 
$rap_soapUrl = "https://technet.rapaport.com/webservices/prices/rapaportprices.asmx?wsdl"; 
$soap_Client = new nusoap_client($rap_soapUrl, 'wsdl'); 
$rap_credentials['Username'] = "loginname"; 
$rap_credentials['Password'] = "mypassword"; 
 
//do login, and save authentication ticket for further use: 
$result = $soap_Client->call('Login', $rap_credentials); 
$rap_auth_ticket = $soap_Client->getHeaders(); 
 
//get price for single diamond 
$paramsA["shape"] = "round"; 
$paramsA["size"] = "1.11"; 
$paramsA["color"] = "F"; 
$paramsA["clarity"] = "vs1"; 
$soap_Client->setHeaders($rap_auth_ticket); 
$result = $soap_Client->call('GetPrice', $paramsA); 
echo $result['GetPriceResult']['price']; 
 
?> 
				
			
VDB
				
					Dim strPost As String 
Dim objHTTP, replyTXT As String 
Dim AuthenticationTicket As String 
AuthenticationTicket = "" 
 
Set objHTTP = CreateObject("Msxml2.ServerXMLHTTP") 
strPost = "https://technet.rapaport.com/HTTP/Authenticate.aspx" 
'Get authentication ticket: 
objHTTP.Open "POST", strPost, False 
 
Call objHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") 
 
objHTTP.send ("Username=USERNAME&Password=PASSWORD") 
 
replyTXT = objHTTP.responseText 
 
 
If objHTTP.Status = "200" Then 'success 

AuthenticationTicket = replyTXT 

Else 

'authentication failed, you need to deal with this. 
AuthenticationTicket = "" 

End If 
 
'save files: 
Dim PriceSheetURL As String 
Dim PriceSheetCSV As String 
Dim iFileNumber As Integer 
 
'rounds: 
PriceSheetURL = "http://technet.rapaport.com/HTTP/Prices/CSV2_Round.aspx" 
PriceSheetURL = PriceSheetURL & "?ticket=" & AuthenticationTicket 
 
objHTTP.Open "GET", PriceSheetURL, False 
objHTTP.send 
 
If objHTTP.Status = "200" Then 

'save the file: 
PriceSheetCSV = objHTTP.responseText 
 
iFileNumber = FreeFile 
Open "C:\Temp\Rounds.csv" For Output As #iFileNumber 
Print #iFileNumber, PriceSheetCSV 
Close #iFileNumber 

End If 
 
'pears: 
PriceSheetURL = "http://technet.rapaport.com/HTTP/Prices/CSV2_Pear.aspx" 
PriceSheetURL = PriceSheetURL & "?ticket=" & AuthenticationTicket 
 
objHTTP.Open "GET", PriceSheetURL, False 
objHTTP.send 
 
If objHTTP.Status = "200" Then 

'save the file: 
PriceSheetCSV = objHTTP.responseText 
 
iFileNumber = FreeFile 
Open "C:\Temp\Pear.csv" For Output As #iFileNumber 
Print #iFileNumber, PriceSheetCSV 
Close #iFileNumber 

End If 
				
			
Linux Scrips
				
					# Wget must be version 1.10.2 or higher to support the "--post-data" 
# If your login / password contain any special characters, you must url-encode it. 
command./ 
 
/LOGIN=myraplogin 
PASSWD=myrappasswd 
 
# Or ask if running the script manually and no login and password is provided 
 
[ "$LOGIN" -a "$PASSWD" ] || { 
echo -n " Enter Rapnet login: " 
read LOGIN 
echo -n "Enter Rapnet password: " 
read PASSWD 
} 
 
umask 000 
 
error() { 
echo -e "\007$*" 
echo "Press Enter to continue" 
read scrap 
exit 
} 
 
wget --post-data="username=$LOGIN&password=$PASSWD" -O /tmp/round.csv "https://technet.rapaport.com/HTTP/Prices/CSV2_Round.aspx" 
wget --post-data="username=$LOGIN&password=$PASSWD" -O /tmp/pear.csv "https://technet.rapaport.com/HTTP/Prices/CSV2_Pear.aspx"/ 
				
			
ColdFusion
				
					<cfset rapurl="URL goes here"> 
 
 
<cfset rapUsername = "Username goes here"> 
<cfset rapPassword = "Password goes here"> 
 
 
<cfset rapFilename = "Filename goes here"> 
<cfset rapFilepath = "Filepath goes here"> 
 
<cfoutput> 
 

 
<cfhttp url="#rapURL#" method="POST" file="#rapFilename#" path="#rapFilepath#"> 

<cfhttpparam type="header" name="accept-encoding" value="no-compression" /> 
<cfhttpparam type="formField" name="username" value="#rapUsername#"> 
<cfhttpparam type="formField" name="password" value="#rapPassword#"> 

</cfhttp> 

</cfoutput>
				
			

Links & Help Articles

Accessibility