Using the OPMLSearch REST Interface
OPMLSearch.com has a REST API interface. It allows you to publish your OPML content here at OPMLSearch.com. When you publish your OPML here you can allow our search engine to automatically detect updates to your OPML and make new content available at OPMLSearch.com.

The REST API protocol

The request to the API should be based on performing an HTTP GET to the following url:

URL: http://www.opmlsearch.com/rest_api.ashx

Each API call requires a particular group of parameters, described in detail below.
Every API call requires two mandatory parameters: "op" and "url", where "op" describes the operation to be performed, and "url" identifies the location of the opml file to be processed.

Available operations

The operations exposed by the API are as follows:

add -- Add a new URL to our database.
checkURL -- Determine whether a given URL is in our database.
disablePolling -- Leave the OPML content from the URL in our database but do not attempt to update it.
fetchNow -- Immediate re-poll the URL and update our database.
setPollingFrequency -- Indicate how often you would like our engine to poll the URL for udpates.
update -- Change any of the settings you specfied when adding a URL to our database.

Result format

The response from the call is an XML document describing the operation result.
The XML has the following format:
<?xml version="1.0" encoding="utf-8"?>
<response status="StatusString ">
       <message>OperationMessage </message>
</response>

StatusString  is the value "ok" or "error", depending on whether the operation completed successfully.
OperationMessage  is a message pertinent to the operation requested and result status.

Operation details

Operation: add
Parameters:
url - Url to be polled
email - Email address to be associated with the url
interval - Interval for our engine to wait before re-polling the url, in minutes. Min value is 20, max is 1000000
fetchnow - "true" if url should be fetched immediately; "false" otherwise.
OPMLType - String describing the type of OPML being submitted (Reading List | Music List | Video List | Blogroll | Blog Content | <Other description>).
 
Response message:
success: Your request has been sucessfully processed.
possible failure messages: Parameter Error. Update requires the email, interval, fetchNow and OPMLType parameters.
 
Operation: checkURL
Parameters:
url - Url to be checked
 
Response message:
Returns "true" the url is in our database, "false" if it is not.
 
Operation: disablePolling
Parameters:
url to be removed from the polling list
 
Response message:
success: The url has been removed from our queue of files to retrieve.
possible failure messages: The specified url was not found in our database.
 
Operation: fetchNow
Parameters:
url - url to be polled
 
Response message:
success: The url has been enqueued for immediate retrieval.
possible failure messages: The specified url was not found in our database.
 
Operation: setPollingFrequency
Parameters:
url - url to update
interval - Interval for our engine to wait before re-polling the url, in minutes. Min value is 20, max is 1000000
 
Response message:
success: The url has been set for repolling every interval  minutes. possible failure messages: The specified url was not found in our database.
Parameter Error. SetPollingFrequency requires the interval parameter.
Parameter Error. SetPollingFrequency requires the interval parameter. The interval must be 20 minutes or more.
 
Operation: update
Parameters:
url - url to be updated
email - Email address of url owner (to be associated with the url in our engine)
interval - Interval for our engine to wait before re-polling the url, in minutes. Min value is 20, max is 1000000
fetchnow - "true" if url should be fetched immediately; "false" otherwise.
OPMLType - String describing the type of OPML being submitted (Reading List | Music List | Video List | Blogroll | Blog Content | <Other description>).
 
Response message:
success: Your request has been sucessfully processed.
possible failure messages: The specified url was not found in our database.
Parameter Error. Update requires the email, interval, fetchNow and OPMLType parameters.

Example

Example request to set Polling Frequency to 1440 minutes (Daily Polling):

http://www.opmlsearch.com/rest_api.ashx?op=setPollingFrequency&url=http://mydomain.com/myopml.opml&interval=1440

Example XML Response:

<?xml version="1.0" encoding="utf-8"?>
 <response status="ok">
    <message>
      Your request has been sucessfully processed.
    </message>
</response>