Share in the brilliance with our Developer API

We welcome all RapidWeaver designers and developers to incorporate support for RapidSearch and RapidSearch Pro into your themes, stacks, snippets and templates. This can include the bare-minimum (such as marking your addons as being compatible with RapidSearch stacks), through to support for search boxes built directly into themes or stacks.

If you are a registered RapidWeaver developer, we will be happy to send you a complimentary RapidSearch and RapidSearch Pro license; you can use for testing and building demo sites with.

RapidSearch and RapidSearch Pro were the very first website searching addons to become available for RapidWeaver. They remain the most popular method for adding search capabilities to websites. Website searching is a function a lot of RapidWeaver users want. If you can demonstrate that your RapidWeaver addons or templates are optimized for RapidSearch and RapidSearch Pro; then there's a good chance you might see an increase in sales.

As of summer 2016, we've shutdown development of the RapidSearch and RapidSearch Pro plugins. We now focus solely on the two stack elements. The stack elements are far more popular than the standalone plugins ever were. We've been able to grow the feature set of the stacks. The stacks are proving easier and more cost-effective for us to maintain and support. Pricing of the stacks remains competitive and we've revised the pricing structure to promote more flexible use of the stacks in more projects (the 1-license-per-domain rule has been abolished).

Integrate RapidSearch and RapidSearch Pro into your webpages, themes and stacks
It is very easy to add an HTML search form to your addon, that will integrate with RapidSearch or RapidSearch Pro. The form should submit a get request to the public-facing RapidSearch page URL with a query parameter whose value is a URL encoded string of search keywords. The following markup is a good example.

<form action="http://example.com/path/to/rapidsearch/" method="get">
<fieldset>
<input type="text" name="query" value="" placeholder="Enter search terms..." />
<input type="submit" value="Search" />
</fieldset>
</form>

Quite a number of frontend frameworks (like Twitter Bootstrap, Zurb Foundation and UIKit) include special class selector names you can add to the form elements; to instantly apply attractive styling (like rounded corners, active outlines and colored buttons). Alternatively you can write your own CSS code to style the form.

CSS Selectors
RapidSearch provides default CSS styles so that the public-facing RapidSearch Pro search form looks great out of the box. However, it is also possible to disable the default CSS styles so they may be overridden with your own CSS. Use the following CSS selectors to style the RapidSearch Pro search form with your own styles:

.rapidsearch
The container around the search form and search results

.rapidsearch-form
The search form

.rapidsearch-form .rapidsearch-input
The search form text input

.rapidsearch-form .rapidsearch-submit
The search form submit button

a.rapidsearch-clear
The search form clear hyperlink

.rapidsearch-results
The ordered list element that contains search results

.rapidsearch-result
A search result

.rapidsearch-result-title
A search result title

.rapidsearch-result-excerpt
A search result excerpt

.rapidsearch-result-url
A search result URL

JSON Search API
RapidSearch Pro provides a JSON search API so you can implement custom search results into your RapidWeaver website or even into an external website. Before you can use the API, you must first know the full absolute URL of your public-facing RapidSearch Pro page. The API endpoint URL is the same URL as your public-facing RapidSearch Pro page with a "/files/index.php/api/search" suffix.

For example, if my RapidSearch Pro form is available at "http://www.domain.com/search/", I can find the API endpoint at "http://www.domain.com/search/files/index.php/api/search". To request JSON search results, send a GET request for:
files/index.php/api/search?query=the+keywords

The API request requires one GET parameter:
query

URL encoded string of keywords. This may contain boolean logic operators.
Search results are returned with the "application/json" mimetype as an array of Javascript objects ordered by relevance (most relevant to least relevant):

[{
"id":"53",
"title":"RapidWeaver Themes and Plugins - NimbleHost.com",
"description":"Shop for professional RapidWeaver themes...",
"url":"http:\/\/www.nimblehost.com"
}]

Each search result object contains the following keys:

id
The database-assigned page unique identifier.
title
The page title as specified in the title tag of the document head.
description
The page description as specified in the description meta tag. This will be empty if no description meta tag is present for that page.
url
The page URL

The API may return a 400 Bad Request status if your request is malformed, a 405 Method Not Allowed status if your request is not a GET request, or a 500 Error status if the API malfunctioned on the server. If all goes well, the API will return a 200 OK status. If you receive a 400, 405, or 500 status code, the HTTP response body will contain information about the error.

Links and promotional material
You can link users direct to this website (rapidsearchpro.com). Please do not distribute copies of the stacks with your addons or provide copies of the free demo versions. It's quite probable that links and documentation will change over time, so it's best for users to come here and find what they need! The demo versions are excluded from automatic updates. Users should be encouraged to download the free demo versions to tryout first.