The CC0 Textures API (v1)
The CC0 Textures API (v1)
I hope the assets and information are helpful to you. There is just one more thing I would like to tell you: Over the last couple of months the companies contacting me regarding CC0 Textures have gotten bigger and bigger. This is not a problem in itself but I would like to make it clear that CC0 Textures is operated and and filled with content by just me (Lennart Demes) - a computer science student. It was built with hobbyists and educators in mind. If I ever have to go to the hospital for a couple of weeks and something breaks then the API or website will stay broken for those weeks. It is absolutely fine for even large companies to use the assets or the API. I just want everyone who is using CC0 Textures commercially to keep this in mind. If you want to be safe: Create your own local copy of the CC0 Textures library by signing up for a CC0 Textures Nextcloud account on Patreon.
The CC0 Textures API allows you to pull metadata and download links for all assets on CC0 Textures. This page offers an overview over all functions provided by the API.
Calling the API
The API can be called by sending GET-Requests to
https://cc0textures.com/api/v1/<endpoint + GET-parameters>
Plain Text
Available endpoints
The API has 2 ways of outputting data:
Returns a list of assets with their metadata, links to preview images and downloads in json notation.
Returns a list of assets with just their downloads in csv notation.
The /rss endpoint has been discontinued.
Downloads: Pretty vs. Raw
When looking at the data returned by the API you will see two kinds of download links: “Pretty” and “Raw”.
Pretty links are short and easy to understand. When accessing a pretty link you will be redirected to the raw link which actually offers the file and your download will be logged for the statistics. In the interest of accurate data I would ask you to use the pretty links whenever possible as they are responsible for counting the downloads. But if the HTTP-Redirects of the pretty links pose a problem for your implementation you are free to use the raw variant instead.
Filters (for all functions)
By default all functions return a full list featuring all assets that CC0 Textures has to offer. The output of all functions can be limited/filtered using the GET-parameters listed below.
All functions support the same syntax as the list page of CC0 Textures (cc0textures.com/list) meaning that all GET-parameters can be copied from the /list page. For Example: Searching for the most popular photoscanned PBR materials using the CC0 Textures website sends you to this URL:
Plain Text
The list of assets can be accessed via the API using this URL:
Plain Text
All filters
All filters
Search Query. Can contain any number of tags, separated by a comma. Spaces will be converted to commas.
Defines the method that was used to create the texture. Can be set to • BitmapApproximation The material has been approximated from just a color map. • HeightFieldPhotogrammetry The material's displacement map was created using photogrammetry. • SubstanceDesignerProcedural The material was created fully procedurally in Substance Designer. • SubstanceDesignerPhotoBased The material was created using Substance Designer and premade assets (such as photoscanned elements). • MultiAngleApproximation The material was created using multi-angle approximation. • PlainPhoto The material is just a plain photo, no further material processing was done. • 3DPhotogrammetry This asset is a 3D model that was created using photogrammetry. • Jsplacement Materials that were created using the software Jsplacement. • Gaea Materials that were created using the software Gaea. Multiple values can be concatenated using a comma. Not setting the parameter or sending an empty string will disable the filter. Any other value will lead to 0 results.
Defines the data type of the assets, for example PBR materials, Substance files or 3D models. Can be set to • PhotoTexturePBR for PBR materials. • AtlasPBR for PBR atlases (for example leaf sets). • PhotoTexturePlain for Photo textures (such as backdrops). • SBSAR for Substance archives • 3DModel for 3D models. • Terrain for terrains. Multiple values can be concatenated using a comma. Not setting the parameter or sending an empty string will disable the filter. Any other value will lead to 0 results.
Defines the order of results. Can be set to • Latest to sort by releasedate (descending). • Popular to sort by popularity score (descending). • Alphabet to sort alphabetically (ascending). Any other values (including an empty string) will default to “Latest”.
If set to a non-empty string it only matches the one specific AssetID (for example “PavingStones036” or “RockSubstance003”). Useful if you want to pull the data for one specific asset.
Returns all assets for one specific release date formatted “YYYY-MM-DD”.
Defines the maximum number of results to be shown. Setting it to -1 or not setting it at all disables the limit and shows all results.
Defines the offset in the results. Setting it to 0 or not setting it at all returns the results starting with the first one. Setting it to a positive number causes this number of assets to be skipped. The offset will only take effect if a limit (see above) has been set.