Search¶
This API allows search for apps by various properties.
Search¶
- GET /api/v1/apps/search/¶
Request
Parameters: - q (string) – The query string to search for.
- cat (int|string) – The category slug or ID to filter by. Use the category API to find the ids of the categories.
- device (string) – Filters by supported device. One of ‘desktop’, ‘mobile’, ‘tablet’, or ‘firefoxos’.
- dev (string) – Enables filtering by device profile if either ‘firefoxos’ or ‘android’.
- pro (string) – A feature profile describing the features to filter by.
- premium_types (string) – Filters by whether the app is free or premium or has in-app purchasing. Any of ‘free’, ‘free-inapp’, ‘premium’, ‘premium-inapp’, or ‘other’.
- type (string) – Filters by type of add-on. One of ‘app’ or ‘theme’.
- app_type (string) – Filters by type of web app. One of ‘hosted’ or ‘packaged’.
- manifest_url (string) – Filters by manifest URL. Requires an exact match and should only return a single result if a match is found.
- sort (string) – The fields to sort by. One or more of ‘downloads’, ‘rating’, ‘price’, ‘created’, separated by commas. Sorts by relevance by default.
Response
Parameters: - meta (object) – Listing response meta.
- objects (array) – A listing of apps, with the following additional fields:
{ "absolute_url": http://server.local/app/my-app/", }
Status Codes: - 200 – successfully completed.
- 401 – if attempting to filter by status, you do not have that role.
Featured App Listing¶
- GET /api/v1/fireplace/search/featured/¶
Request
Accepts the same parameters and returns the same objects as the normal search interface: Search. Includes ‘featured’ list of apps, listing featured apps for the requested category, if any. When no category is specified, frontpage featured apps are listed.
Response:
Parameters: - meta (object) – Listing response meta.
- objects (array) – A listing of apps satisfying the search parameters.
- featured (array) – A list of apps featured for the requested category, if any
Status Codes: - 200 – successfully completed.
Feature Profile Signatures¶
Feature profile signatures indicate what features a device supports or does not support, so the search results can exclude apps that require features your device doesn’t provide.
The format of a signature is FEATURES.SIZE.VERSION, where FEATURES is a bitfield in hexadecimal, SIZE is its length in bits as a decimal number, and VERSION is a decimal number indicating the version of the features table.
Each bit in the features bitfield represents the presence or absence of a feature.
Feature table version 1:
bit | feature |
---|---|
0 | Quota Management |
1 | Gamepad |
2 | Full Screen |
3 | WebM |
4 | H.264 |
5 | Web Audio |
6 | Audio |
7 | MP3 |
8 | Smartphone-Sized Displays |
9 | Touch |
10 | WebSMS |
11 | WebFM |
12 | Vibration |
13 | Time/Clock |
14 | Screen Orientation |
15 | Simple Push |
16 | Proximity |
17 | Network Stats |
18 | Network Information |
19 | Idle |
20 | Geolocation |
21 | IndexedDB |
22 | Device Storage |
23 | Contacts |
24 | Bluetooth |
25 | Battery |
26 | Archive |
27 | Ambient Light Sensor |
28 | Web Activities |
29 | Web Payment |
30 | Packaged Apps Install API |
31 | App Management API |
For example, a device with the ‘App Management API’, ‘Proximity’, ‘Ambient Light Sensor’, and ‘Vibration’ features would send this feature profile signature:
88011000.32.1