Ping Submission API

Ping Sindice to make sure that your RDF data is promptly indexed (or refreshed) within our services. To do this use the following APIs:


The REST API for ping submission can be reached through:
Example using curl to post a list of url from text file:

curl -H "Accept: text/plain" --data-binary @urls.txt

The file should contain urls in one per line format.
Note: Due to potential abuse, the REST API for ping submitting might be deactivated in the future.

The old url is deprecated and will soon be retired.
All users should switch to the new one


The Sindice RPC ping API  is developed according to the specification of the Pingback mechanism. The RPC method name has been adjusted to fit the majority of software that have pingback support (such as blogging engines).

The XML-RPC endpoint:

Method name:


  • name of the resource - String, this can be left empty but the parameter should not be omitted.
  • URL of the resource - String

Note: parameters should be sent in the exact order listed above

Response parameters:

  • flerror - Boolean, value 1 indicates that an error occured
  • message - String, contains the error message if flerror is 1, otherwise it will contain the string "Thanks for pinging"

Example of an XML-RPC Request message:

<?xml version="1.0"?>
             <value>Some resource title</value>

Example of a XML-RPC Response message:

<?xml version="1.0"?>
                         <value>Thanks for pinging</value>

 This Java code will do this for you:

 * Performs a Ping to Sindice with a list of URLs.
 * @param urls
public void doPing(List<URL> urls) {
    if (urls.size()<=0) return;
    StringBuffer buf = new StringBuffer();
    for (URL url : urls) {
    XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
    try {
        config.setServerURL(new URL(""));
        XmlRpcClient client = new XmlRpcClient();
        Object[] params = new Object[]{
        	"(Optional)The name of your application here", buf.toString()
        Object result = client.execute("", params);
        System.out.println("Sent: "+buf.toString()+"Result: "+result);
    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
    } catch (XmlRpcException e) {
        // TODO Auto-generated catch block

 This PHP code will do this for you:

function doPing($title, $URI) {
    $client = new xmlrpc_client("");
    $payload = new xmlrpcmsg("");
    $payload->addParam(new xmlrpcval($title));
    $payload->addParam(new xmlrpcval($URI));
    $response = $client->send($payload);
    $xmlresponsestr = $response->serialize();
    $xml = simplexml_load_string($xmlresponsestr);
    $result = $xml->xpath("//value/boolean/text()");
     if($result) {
        if($result[0] == "0"){
            echo "<p>Submitting $URI to $servicetitle succeeded.</p>";
    else {
        $err = "Error Code: " 
        ."<br /> Error Message: " 
        echo "<p>Failed to submit $URI to $servicetitle.</p>";


There is a dedicated API for submitting Semantic Sitemaps. To submit a sitemap, send an HTTP POST request to this URI:

The body of the request must be in application/x-www-form-urlencoded format. The parameters are:

  • url - the URI of the sitemap, e.g.
  • email (optional) - your email address

If an email address is provided, then Sindice will send you a message when your dataset has been indexed. This is what a full HTTP request to the API looks like (including HTTP headers):

  POST /api/v1/sitemap HTTP/1.0
  Content-Type: application/x-www-form-urlencoded;