Everything Fonts Font API

Home / API / Everything Fonts Font API

Everything Fonts Font API gives you API access to font. You can get all the details about font upto the individual glyph level and do amazing things with it. This is a first of its kind..

API End Points

The end point for connecting : If you subscribe directly from us use this endpoint.
	http://font.rest/
	

Authentication

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.

Adding fonts to the system private ratelimited

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.

POST/font

Add the font to the system.

Parameters
Parameter NameParameter TypeDescription
fontbinaryFont file to upload.
output
The result is a json object with an id for the uploaded font file.

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.

Listing fonts in the system private ratelimited

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"
            } ...
        ]
    }
}

Getting the name of the Font private ratelimited

To get the name of the font use the following API.

http://font.rest/font/{id}/name.json

The above outputs something like this.

{
    "success": {
        "total": 1
    },
    "contents": {
        "font": {
            "id": "wWCRzGGtEeKR21DlSVDSjg",
            "name": "FreeMono Gras Italique"
        }
    }
}

Getting details about a font private ratelimited

To get the details about a font use the following API.

http://font.rest/font/{id}

Here is an example using curl:

 curl  -X GET -H 'X-Everythingfonts-Api-Secret: <api_key>'  http://font.rest/font/wWCRzGGtEeKR21DlSVDSjg

The above call will produce something like the following:

{
    "success": {
        "total": 1
    },
    "contents": {
        "font": {
            "id": "wWCRzGGtEeKR21DlSVDSjg",
            "name": "FreeMono",
            "subfamily": "Gras Italique",
            "uniqueid": "GNU: FreeMono Bold Oblique: 2012",
            "fullname": "FreeMono Gras Italique",
            "combined_fullname": "FreeMono Gras Italique",
            "postscriptname": "FreeMonoBoldOblique",
            "total_glyphs": "1796",
            "version": "Version 0412.2261",
            "private": "0",
            "description": null
        }
    }
}
        

Getting the license text of the Font private ratelimited

To get the license text of the font use the following API.

http://font.rest/font/{id}/license.json

The above outputs something like this.

{
    "success": {
        "total": 1
    },
    "contents": {
        "font": {
            "id": "wWCRzGGtEeKR21DlSVDSjg",
            "license": "This computer font is part of GNU FreeFont.  It is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\n\nThis font is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License along with this font.  If not, see \n    http://www.gnu.org/licenses/\n\nAs a special exception, if you create a document which uses this font, and embed this font or unaltered portions of this font into the document, this font does not by itself cause the resulting document to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the document might be covered by the GNU General Public License. If you modify this font, you may extend this exception to your version of the font, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version."
        }
    }
}

Unicode blocks coverage details private ratelimited

To get the unicode coverage details use the following API.

http://font.rest/font/wWCRzGGtEeKR21DlSVDSjg/coverage.json

Here is an example using curl:

 curl  -X GET -H 'X-Everythingfonts-Api-Secret: <api_key>'  http://font.rest/font/UIl9zhKkoatOka9bE1uIIgeF/coverage.json

The above call will produce something like the following:

{
    "success": {
        "total": 1
    },
    "contents": {
        "font": {
            "id": "UIl9zhKkoatOka9bE1uIIgeF",
            "coverage": [
                {
                    "name": "Alphabetic Presentation Forms",
                    "coverage": "2",
                    "total": "80",
                    "percent": "3",
                },
                {
                    "name": "Basic Latin",
                    "coverage": "95",
                    "total": "128",
                    "percent": "74",
                },...
            ]
        }
    }
}
        

Getting the files associated with the font private ratelimited

To get the files associated with the font use the following API.

http://font.rest/font/{id}/files.json

Here is an example using curl:

curl -X GET  -H 'X-Everythingfonts-Api-Secret: <api_key>'  http://font.rest/font/upvXilxcEeKpxVDlSVDSjg/files.json

The above outputs something like this.

{
    "success": {
        "total": 2
    },
    "contents": {
        "files": [
            {
                "name": "SourceSansPro-Regular.otf",
                "version": "1",
                "id": "upvXilxcEeKpxVDlSVDSjg",
                "links": {
                    "rel": "self",
                    "href": "/font/upvXilxcEeKpxVDlSVDSjg/file/upvXilxcEeKpxVDlSVDSjg"
                }
            },
            {
                "name": "SourceSansPro-Regular.ttf",
                "version": "1",
                "id": "Ob70czrseGHeCn5f_Y3jSgeF",
                "links": {
                    "rel": "self",
                    "href": "/font/upvXilxcEeKpxVDlSVDSjg/file/Ob70czrseGHeCn5f_Y3jSgeF"
                }
            }
        ]
    }

        

Getting the details about a single font file associated with the font private ratelimited

To get the details about a single font file associated with the font use the following API.

http://font.rest/font/{id}/file/{fileid}

Here is an example using curl:

curl -X GET  -H 'X-Everythingfonts-Api-Secret: <api_key>'  http://font.rest/font/upvXilxcEeKpxVDlSVDSjg/file/UIl9zhKkoatOka9bE1uIIgeF

The above outputs something like this.

{
    "success": {
        "total": 1
    },
    "contents": {
        "name": "myriad.ttf",
        "version": "1",
        "id": "UIl9zhKkoatOka9bE1uIIgeF",
        "links": [
            {
                "rel": "self",
                "href": "/font/UIl9zhKkoatOka9bE1uIIgeF/file/UIl9zhKkoatOka9bE1uIIgeF"
            },
            {
                "rel": "download",
                "href": "https://everythingfonts.com/font/download/UIl9zhKkoatOka9bE1uIIgeF"
            }
        ]
    }
}
        

Getting one line preview as an image private ratelimited

To get the preview image of the font use the following API with a parameter "type" set to "preview" as a value.

http://font.rest/font/{id}/image.json

Here is an example using curl:

curl -X GET  -H 'X-Everythingfonts-Api-Secret: <api_key>'  http://font.rest/font/UIl9zhKkoatOka9bE1uIIgeF/image.json?binaryresult=0&type=preview

The above outputs something like this. If you want to download the image as a binary instead of a base64 encoded json payload set the option "binaryresult" to 1.

{
    "success": {
        "total": 1
    },
    "contents": {
        "font": {
            "id": "UIl9zhKkoatOka9bE1uIIgeF",
            "image": {
                "type": "preview",
                "format": "png",
                "image": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAAyCAIAA...."
                      }
                 }
          }
}
        

The above call will produce an image like this.

Font Image Preview

Getting common characters preview as an image private ratelimited

To get the preview image of the font use the following API with a parameter "type" set to "bigpreview" as a value.

http://font.rest/font/{id}/image.json

Here is an example using curl:

curl -X GET  -H 'X-Everythingfonts-Api-Secret: <api_key>'  http://font.rest/font/UIl9zhKkoatOka9bE1uIIgeF/image.json?binaryresult=0&type=bigpreview

The above outputs something like this. If you want to download the image as a binary instead of a base64 encoded json payload set the option "binaryresult" to 1.

{
    "success": {
        "total": 1
    },
    "contents": {
        "font": {
            "id": "UIl9zhKkoatOka9bE1uIIgeF",
            "image": {
                "type": "bigpreview",
                "format": "png",
                "image": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAAyCAIAA...."
                      }
                 }
          }
}
        

The above call will produce an image like this.

Font Image Preview

Getting waterfall preview as an image private ratelimited

To get the waterfall preview of the font use the following API with a parameter "type" set to "waterfall" as a value.

http://font.rest/font/{id}/image.json

Here is an example using curl:

curl -X GET  -H 'X-Everythingfonts-Api-Secret: <api_key>'  http://font.rest/font/UIl9zhKkoatOka9bE1uIIgeF/image.json?binaryresult=0&type=waterfall

The above outputs something like this. If you want to download the image as a binary instead of a base64 encoded json payload set the option "binaryresult" to 1.

{
    "success": {
        "total": 1
    },
    "contents": {
        "font": {
            "id": "UIl9zhKkoatOka9bE1uIIgeF",
            "image": {
                "type": "waterfall",
                "format": "png",
                "image": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAAyCAIAA...."
                      }
                 }
          }
}
        

The above call will produce an image like this.

Font Waterfall Image Preview

Getting contact sheet of the font as an image private ratelimited

To get the contact sheet of the font use the following API with a parameter "type" set to "contact" as a value.

http://font.rest/font/{id}/image.json

Here is an example using curl:

curl -X GET  -H 'X-Everythingfonts-Api-Secret: <api_key>'  http://font.rest/font/_PP8EirSJeIDLcC0uh5R3weF/image.json?binaryresult=0&type=contact

The above outputs something like this. If you want to download the image as a binary instead of a base64 encoded json payload set the option "binaryresult" to 1.

{
    "success": {
        "total": 1
    },
    "contents": {
        "font": {
            "id": "_PP8EirSJeIDLcC0uh5R3weF",
            "image": {
                "type": "contact",
                "format": "png",
                "image": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAAyCAIAA...."
                      }
                 }
          }
}
        

The above call will produce an image like this.

Font Contact Sheet Preview

Getting details about glyphs private ratelimited

http://font.rest/font/{fontid}/glyph/list

By using the parameter "start" you can browse all the glyphs of the font. Here is an example using curl.

 curl  -X GET -H 'X-Everythingfonts-Api-Secret: <api_key>'  http://font.rest/font/wWCRzGGtEeKR21DlSVDSjg/glyph/list.json?start=200 

The above will output something list the following:

{
    "success": {
        "total": 1796,
        "range": {
            "start": 200,
            "end": 300
        }
    },
    "contents": {
        "font": {
            "id": "wWCRzGGtEeKR21DlSVDSjg",
            "glyphs": [
                {
                    "id": 0,
                    "type": "simple",
                    "name": ".notdef",
                    "char": "",
                    "SVG": {
                        "SVGContours": "M608,450 Q608,405,592,369 Q576,333,544,
307 Q512,281,480,264 Q448,247,401,228 Q383,174,339,174 Q323,174,311,185 Q299,19
6,299,211 Q299,216,304,240 L315,296 Q428,336,467,363 Q506,390,506,428 Q506,461,
482,479.5 Q458,498,415,498 Q358,498,304,474 L301,460 Q288,409,260,398 Q249,394,
237,394 Q220,394,208.5,404.5 Q197,415,197,431 Q197,443,201,460 L218,539 Q300,57
4,343.5,586 Q387,598,436,598 Q516,598,562,558.5 Q608,519,608,450 z M308,-15 L29
0,-15 Q266,-15,251,0 Q236,15,236,38 Q236,68,261.5,92.5 Q287,117,318,117 L336,11
7 Q359,117,374,102.5 Q389,88,389,65 Q389,34,364,9.5 Q339,-15,308,-15 z M-3,-110
 L163,673 L723,673 L557,-110 L-3,-110 z M63,-47 L517,-47 L657,610 L203,610 L63,
-47 z ",
                        "xMin": -3,
                        "yMin": -110,
                        "xMax": 723,
                        "yMax": 673
                    }
                }, ...
            ]
        }
    }
}
        

Getting details about a single glyph private ratelimited

To get the details about the single glyph use the following api.

http://font.rest/font/{fontid}/glyph/{id}

Here is an example with curl. This will return the details about glyph with glyph id 1624 for font with id wWCRzGGtEeKR21DlSVDSjg.

curl  -X GET -H 'X-Everythingfonts-Api-Secret: <api_key>'  http://font.rest/font/wWCRzGGtEeKR21DlSVDSjg/glyph/1624
{
    "success": {
        "total": 1
    },
    "contents": {
        "font": {
            "id": "wWCRzGGtEeKR21DlSVDSjg",
            "glyph": {
                "id": "1624",
                "type": "composite",
                "name": "uni2199",
                "char": "↙",
                "SVG": {
                    "SVGContours": [
                        {
                            "contours": "M325,421 L581,472 L477,227 Q473,216,462.5,208.5 Q452,201,442,201 Q431,201,422.5,209 Q414,217,414,229 Q414,240,424,261 L453,327 L168,92 Q154,80,139,80 Q128,80,120.5,88.5 Q113,97,113,107 Q113,123,131,138 L419,375 L346,360 Q329,356,320,356 Q308,356,300.5,364 Q293,372,293,384 Q293,397,302.5,407.5 Q312,418,325,421 z ",
                            "transform": [
                                -16384,
                                0,
                                0,
                                -16384,
                                704,
                                552
                            ]
                        }
                    ],
                    "xMin": 122,
                    "yMin": 80,
                    "xMax": 592,
                    "yMax": 473
                },
                "glyphIDs": [
                    1622
                ]
            }
        }
    }
}
     

Getting a single glyph as an image private ratelimited

You can get an image of an individual glyph in svg or png format. Use the following endpoint:

http://font.rest/font/{fontid}/glyph/{glyphid}/image.json?format=png

Here is an example using curl.

curl  -X GET -H 'X-Everythingfonts-Api-Secret: <api_key>'  http://font.rest/font/wWCRzGGtEeKR21DlSVDSjg/glyph/100/image.json?format=png

Which will output something like the following:

{
    "success": {
        "total": 1
    },
    "contents": {
        "font": {
            "id": "wWCRzGGtEeKR21DlSVDSjg",
            "glyph": {
                "id": "100",
                "filename": "00a2.png",
                "content": "iVBORw0KGgoAAAANSUhEUgAAAOAAAAFgAQMAAACYJOfOAAAABlBMVEUAAAD///+l2Z/dAAAEFUlEQVRogd3ZzZG0OAwGYFEc+kgIhEIqmwkOjVAIgSMHCi/gf+mVm+1v6J1dTjP9VNuysDFyk+XXQl34kwQaalXciUjF9cBRw/nAXsPpwE5Dc+BLQ6rgGWwcC8ftxEbB9S2SgksN5/c4YpyeQfMx0h+ihbh/jNt7VO7n5+gmgjLBHkI3v5QZ/xC6mamsz38D3Zzuv4puNQy/B4tF9lW0EPcnsfkAtydR2SLX96jcT4/4UeMxzE2MDcLFo+9VwRfAYL5dgl/07RZoEnYct2Su0xznDJv9mIM5Un79dXyZcKsuYsKtXleOhuOQcOdGfcJVYEd6l/QivcsMZZfUkt4lNaR3meFUQ2kU1yJPbIEgnoQgnoQgnoTQSM1PQhysx6WGOFiqBUvazcwQG9WCpUpmPSojocpI/M2eamhqiHt0qNwTh8owHSrDdDNeGabDuYZTDU0Nsw/6LPQXwy4P78KUg6ZIyYWpob64DRemHJTz9EL2fI4tXY+aOeBQro0Swyo3GYYA4jY1ZWiyQeZ4PftYl7GfAoOF8E8MwbUIw7BeEcNOSWLrwxjjCW2dGLJnOY4UA29q2EIMyaphL/DcdAwPNkcf7JhwF2g5nhvdLkYi8QVxEyPx2B643sBe4LktL2KYEkeB3YGzGKbARmIfscU4SbQ+xIAviefrhxE5eIPGxU9WJshhk3AocHJRYJxdR7TL7Ll53tfwaIvK+thfm/sE4+5SRuxlOI7lHButEBf3wGQvw8VVx7Ic/WHsMM5PYo9x+p04YDT/H0SL7D+N/W9DZTn8KSor+wYqj5obyB9v95E/Ul03fmqKE68hx7FA40tpA6bCFkpphIsfW8A+x8mHH1Bs9jnmyV1DhP6BUeRvDkEEzFNkQhABsyyEHTvDlIU1RhgxDXROOItZZGL4EeNYsvejiDHcBSCvqS9khyzF227CLh8Ix7Zo1WGqDa40bISxSxmQWBYg2Ybu/99JxeK6xqmUejdQq4WreN1PrWK7gRPG/j3OGIf3qJSt11rRCl5bQbc+lTraI858W8Nw9gYxnNoZhL3HCeHgcUY41tB6RPlrA6IUxaNLlKIuIMrCEBBlYYxohGUHrZMSrC3KdxaPLQv/Mh5brthw2YRiLMWZMQ+3+E2HhzvkyMO1ObJwyxNuFhH7bbmMaCxxhq1acA7WMdxhq+Fw16BWA/Lj6wLZWU6JKYM9wBV8MZ02G9GjQFaGxj/YGL+A7DeZryCsNL+CLUZYoz6MsIB9GOcLu9+Dk1hiz6ORq/NLOGJEy/NhhEdI/wQtRHi+9FPICzCP+GTqPvKK8D7yKvSHkJfF97H/GIcajhi392gx7uimFCjK9HxSi+o/X2XiUCHHXsMZ5KB4pI4aruhkINsF5VFF9ioguky4gJOKvwHZLmUtMTimTwAAAABJRU5ErkJggg=="
            }
        }
    }
}        
    

Subscribe

Everything Fonts Font API Basic

$9.99/mo

No contracts. Anytime cancellation.
1 API Key
1000 API Calls / day
Best in class backend tools
Easy to use REST API
Immediate provisioning

Everything Fonts Font API Premium

$24.99/mo

No contracts. Anytime cancellation.
1 API Key
4000 API Calls / day
Best in class backend tools
Easy to use REST API
Immediate provisioning

Everything Fonts Font API Ultra

$49.99/mo

No contracts. Anytime cancellation.
1 API Key
12000 API Calls / day
Best in class backend tools
Easy to use REST API
Immediate provisioning