font-face generation API allows you generate @font-face kits using REST API. This allows you to serve fonts over the browser for your webpages.
http://font.rest/
Currently we support API Key based authentication. Please set a request header 'X-EverythingFonts-Api-Secret' with value of your API key. Alternatively you can also pass api_key= as a request parameter, though we strongly discourage this mode of passing the key.
To do any operations on a font file it has to be added to our system first. This will exist in your account and no one else can see or access this resource. Once you add the file you can refer to the font using the id returned from the API call.
Add the font to the system.
ParametersParameter Name | Parameter Type | Description |
---|---|---|
font | binary | Font file to upload. |
To add a font to the system do a post with the font file attached to the following url.
http://font.rest/font.json
Here is an example of adding a font using CURL to post to the API
curl -v -i -X POST -H 'X-EverythingFonts-Api-Secret: <api_key>' -F font=@myraid.ttf http://font.rest/font.json
The above call if successful will return a json response something like this.
{ "success": { "total": 1 }, "contents": { "id": "BMruFarhaMcvj6oGeAb62itgeF" } }The id in the contents is the font id that you should use in any of the subsequent calls.
To list the fonts in the system use the following API.
http://font.rest/font/list.json
By using the parameter "start" you can browse all the fonts(that you have added before) in the system. Use the parameter "public" to control whether to include public fonts or not in your list.
http://font.rest/font/list.json?start=10&public=0
Here is an example of listing the fonts using curl.
curl -X GET -H 'X-Everythingfonts-Api-Secret:' "http://font.rest/font/list?start=10&public=0"
The above command will return a result something like the following.
{ "success": { "total": "75", "count": 11, "range": { "start": 10, "end": 21 } }, "contents": { "contents": [ { "name": "IM FELL French Canon PRO Regular", "id": "RQMdiZs_C7IdyHPBV_FpGAeF", "private": "1", "created_on": "2014-12-18 19:20:23" }, { "name": "IM FELL French Canon PRO Italic", "id": "i79KlUe2mpnLKg2I9kAWIAeF", "private": "1", "created_on": "2014-12-18 19:20:23" } ... ] } }
Convert one font format to another.
ParametersParameter Name | Parameter Type | Description |
---|---|---|
targetformats | string | Target formats (comma seperated list) you want to include in font-face kit. Options can include all or some from this list("ttf,woff,woff2,svg,eot). |
id | string | Font id. Part of the API route. |
binaryresult | boolean | Return converted file in binary format, the default is base64 json response. |
http://font.rest/font/{fontid}/convert/fontface.jsonHere is an example of generating font-face kit for the just added font. Since binaryresult is set to 0 the converted file will be returned as part of a json object as base64 encoded string.
curl -v -i -X POST -H 'X-EverythingFonts-Api-Secret: <api_key>' -d targetformats=ttf,woff2,svg,eot,woff -d binaryresult=1 -o ff.zip http://font.rest/font/BMruFarhaMcvj6oGeAb62itgeF/convert/fontface.json
1 API Key |
1000 API Calls / day |
Best in class backend tools |
Easy to use REST API |
Immediate provisioning |
1 API Key |
4000 API Calls / day |
Best in class backend tools |
Easy to use REST API |
Immediate provisioning |
1 API Key |
12000 API Calls / day |
Best in class backend tools |
Easy to use REST API |
Immediate provisioning |